編譯 Notepad++ 踩坑記錄

官方的指引比較簡略,我這里補(bǔ)充一些維護(hù)者認(rèn)為沒必要說,但是初次接觸的朋友必須注意的內(nèi)容

宏觀步驟

  1. 從 Github 上 Clone 代碼下來
  2. 編譯 Scintilla,這個是 Notepad++ 的核心依賴庫
  3. 編譯 PowerEditor,即 Notepad++ 主體程序

步驟 2 中的編譯坑

  1. 這個地方要用命令行編譯,不能用 VS 直接編譯
  2. 此處系統(tǒng)默認(rèn) v120_xp 的 Platform Toolset,通俗的講,你要安裝 VS2013 的工具集,最簡便的方法是安裝 VS2013 Community 版本
  3. 按照文檔編譯時,要注意的是 Boost 庫的版本,此時代碼中使用的是 1.58.0,所以我也下載的是這個版本,并放到了一個固定位置
  4. 編譯時要用 Developer Command Prompt For VS2013 的命令行,原因是此種啟動方式會自帶環(huán)境變量設(shè)置,這一步很重要
  5. 設(shè)置 BuildBoost.bat 中的變量

BOOSTPATH=C:\sources\boost_1_58_0
MSVCTOOLSET=msvc-12.0
BOOSTVERSION=1.58.0
其他地方可以不設(shè)置

  1. 運(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 配置
  2. 根據(jù)文檔編譯好 boost 后,再到 win32 下面編譯出 dll、lib 等最終結(jié)果文件
  3. 將 bin 目錄下除 empty.txt 所有的文件拷貝到 PowerEditor 的生成目錄中,此處要注意,根據(jù)選用的配置不同,其生成目錄也不同

步驟 3 中的編譯坑

  1. 這個地方需要 VS 直接編譯
  2. 此處系統(tǒng)默認(rèn) v140_xp 的 Platform Toolset,對于 VS2017 默認(rèn)只有 v141,解決方法是運(yùn)行 Visual Studio Installer 在里面增加選項(xiàng),具體可參考這里
  3. 這時候編譯仍然會有 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)行!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Boost庫下載地址 編譯 生成boost的自用的編譯工具bjam.exe 解壓后,使用Visual Studio...
    elivera閱讀 31,257評論 1 12
  • 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進(jìn)制和源碼安裝 1.1BLOG文檔結(jié)構(gòu)圖 ...
    小麥苗DB寶閱讀 10,861評論 0 31
  • (2017-6-27) 我開始意識到,我可能對于人生的階段和生命周期中的一些事情的輕重緩急 缺乏一定的認(rèn)識。 在什...
    太陽會掉落閱讀 541評論 0 0
  • 也許應(yīng)該說點(diǎn)什么,畢竟一年又過去了。 可我此時此刻什么都不想說。因?yàn)橹蒙砣巳?,我仍然感到深深的落寞。這世界于我,竟...
    兔子的菜園閱讀 232評論 4 3
  • 有月亮的夜晚 我坐在窗前 能看見遠(yuǎn)山 被霧氣繚繞 今晚,沒有月亮 我坐在窗前 看見滿天星斗 閃啊閃啊 草原上吹起了...
    春箋素心閱讀 176評論 0 0

友情鏈接更多精彩內(nèi)容