標籤:
1. 下載 notepad2_4.2.25_src.zip (這裡/這裡) 和 scintilla357.zip (這裡/這裡) 至本地
2. 建立一個空目錄並命名,如Notepad2,將上述2個包分別解壓至該目錄,如所示
3. 雙擊開啟Notepad2.sln,將會啟動VS2013,並提示項目需要更新,點擊確定
VS2013將會產生一個Migration Report - Notepad2,並使用預設瀏覽器開啟
4. 轉到VS2013,我們將會發現Scintilla目錄已經被包含進來
5. 在項目中右擊Scintilla\src目錄 -> Add -> Existing Item
將scintilla\src檔案目錄中 *.h 和 *.cxx 添加進去,否則由於缺少檔案提示一些函數沒有定義
用同樣的方法將scintilla\win32中 *.h 和 *.cxx 添加到Scintilla\win32
6. 運行lexlink.js,該指令碼將Scintilla\src\Catalogue.cxx中不需要連結的部分注釋
7. Build Solution,提示“error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409”
網上查閱後,發現問題出在資源ID重複上。
於是用文字編輯器開啟src\resource.h,找到第一行IDR_RT_MANIFEST,將1修改成其他值,如12
8. 重新編譯,發現除了“GetVersion函數已淘汰”、
使用“_CRT_SECURE_NO_WARNINGS”來避免一些safe string函數的warning
還有“warning LNK4075: ignoring ‘/EDITANDCONTINUE‘ due to ‘/SAFESEH‘ specification”外
已沒有編譯和連結錯誤,Debug版Notepad2.exe已成功產生
使用 VS2013 Update 4 編譯 Notepad2 (4.2.25)