1. 程式人生 > >【軟件編譯】vs2013下編譯notepad++源碼

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

編譯notepad++

1 下載notepad++源碼

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

技術分享

2 對scintilla進行編譯,獲得SciLexer.dll文件


具體編譯方法請自行谷歌,本人趕時間,直接從已安裝的notepad++中復制了一份。


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

技術分享

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

技術分享

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

技術分享

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 修改工程屬性,“將警告視為錯誤”改為“否”。否則編譯時會出錯。

技術分享

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

錯誤提示如下:

技術分享

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

技術分享

本文出自 “12746634” 博客,請務必保留此出處http://12756634.blog.51cto.com/12746634/1955628

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