官方的指引比較簡略,我這里補(bǔ)充一些維護(hù)者認(rèn)為沒必要說,但是初次接觸的朋友必須注意的內(nèi)容
宏觀步驟
- 從 Github 上 Clone 代碼下來
- 編譯 Scintilla,這個是 Notepad++ 的核心依賴庫
- 編譯 PowerEditor,即 Notepad++ 主體程序
步驟 2 中的編譯坑
- 這個地方要用命令行編譯,不能用 VS 直接編譯
- 此處系統(tǒng)默認(rèn) v120_xp 的 Platform Toolset,通俗的講,你要安裝 VS2013 的工具集,最簡便的方法是安裝 VS2013 Community 版本
- 按照文檔編譯時,要注意的是 Boost 庫的版本,此時代碼中使用的是 1.58.0,所以我也下載的是這個版本,并放到了一個固定位置
- 編譯時要用 Developer Command Prompt For VS2013 的命令行,原因是此種啟動方式會自帶環(huán)境變量設(shè)置,這一步很重要
- 設(shè)置 BuildBoost.bat 中的變量
BOOSTPATH=C:\sources\boost_1_58_0
MSVCTOOLSET=msvc-12.0
BOOSTVERSION=1.58.0
其他地方可以不設(shè)置
- 運(yùn)行時,不要任何參數(shù),特別是不能加 -x64,因?yàn)橥ㄟ^閱讀 BuildBoost.bat 的代碼我們可以看到,其實(shí) x64 不僅僅是 64 位的意思,本質(zhì)上是 ia64 指令集的意思,如果你的是 x86 指令集的機(jī)器,即傳統(tǒng)的 PC 或 PC Server,那么就不要加 -x64 參數(shù)進(jìn)行編譯,同樣的,后面編譯 PowerEditor 時也不要選擇 x64 配置
- 根據(jù)文檔編譯好 boost 后,再到 win32 下面編譯出 dll、lib 等最終結(jié)果文件
- 將 bin 目錄下除 empty.txt 所有的文件拷貝到 PowerEditor 的生成目錄中,此處要注意,根據(jù)選用的配置不同,其生成目錄也不同
步驟 3 中的編譯坑
- 這個地方需要 VS 直接編譯
- 此處系統(tǒng)默認(rèn) v140_xp 的 Platform Toolset,對于 VS2017 默認(rèn)只有 v141,解決方法是運(yùn)行 Visual Studio Installer 在里面增加選項(xiàng),具體可參考這里
- 這時候編譯仍然會有 Error 發(fā)生,
# [error C2220: warning treated as error - no 'object' file generated](https://stackoverflow.com/questions/18225636/error-c2220-warning-treated-as-error-no-object-file-generated),這里同樣需要修改配置,具體參考這里
最終即可編譯成功,運(yùn)行!