【軟件編譯】vs2013下編譯notepad++源碼

https://blog.51cto.com/12756634/1955628

1 下載notepad++源碼

    登錄notepad++官網https://notepad-plus-plus.org/

wKioL1mNqRHTIDDSAACs1SZoP7A585.png

2 對scintilla進行編譯,獲得SciLexer.dll文件
    具體編譯方法請自行谷歌,本人趕時間,直接從已安裝的notepad++中複製了一份。

 

    problem 1:如果沒有這個文件會在一開始報錯

        wKiom1mNq7LRtkWrAAAsoH_N3lY526.png

    problem 2:如果這個文件是自己編譯獲得的,則這個文件沒有簽名,也會報錯。

wKioL1mNuiiD-posAAAVvy3D0_Y456.png

        solution 2-1:只需要將驗證簽名的函數去掉或強行通過驗證就可以了。(通過在整個解決方案中搜索“Authenticode check failed”定位到簽名驗證部分的代碼)

wKiom1mNvAfQQvmqAAAmz_sqT_A177.png

        solution 2-2:像我一樣直接copy一個正版的過來

        maybe  solution 2-3:給自己的scilexer.dll加上簽名證書,這個只是我的想法,沒有進行驗證

3 編譯notepad++源碼
   3.1  打開PowerEditor\visual.net,使用vs2013打開notepadPlus.vcxproj(notepadPlus.vs2015.vcxproj是vs2015的工程)

   3.2  修改工程屬性,“將警告視爲錯誤”改爲“否”。否則編譯時會出錯。

wKioL1mNrz7C5jBMAAAcDEiiAFM372.png

   3.3  解決方案環境需要配置爲與scilexer.dll一致,否在在使用loadlibrary加載時會出現193號錯誤
(因爲loadlibrary返回NULL,只知道是加載失敗,但不知道是爲什麼,後來使用getlasterror後獲得錯誤號193;在網上一查,193說明不是合法的win32程序,因此纔想到我用的dll是x64的,修改了環境就可以成功加載了)。

    錯誤提示如下:

wKiom1mNuo7TwLCuAAASnhdMVgE156.png

    解決方案配置:(因爲這個問題消耗了大半天的時間。。。)

wKiom1mNvHXhQwzQAAAxFS-4bqw192.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章