怎么在vs2012里面成功编译Notepad++源码_evil.wang的博客-CSDN博客_notepad++源码
error C2220: 警告被视为错误 - 没有生成“object”文件
解决:文件编码问题,可以双击错误处,VS窗口会显示到此文件没有保存(源文件用记事本打开显示ANSI类型,而工程中需要unicode),点击VS窗口上的全部保存。
How do I build Notepad++ with Visual C++ 2010 Express? - Stack Overflow
- 1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string(676): error C2039: 'sprintf_s' : is not a member of '`global namespace''
- 1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\string(676): error C3861: 'sprintf_s': identifier not found
解决:
__STDC_WANT_SECURELIB__=0
to 1
==============================
使用最新的notepad-plus-plus-8.4.4编译,使用VS2019(VS2015以上)打开工程notepad-plus-plus-8.4.4\PowerEditor\visual.net\notepadPlus.sln
可以看到有三个工程,工程Lexilla编译的问题,将错误提示附近的“特殊字符注释”都删除即可(我将特殊的都删除掉了)
1>已完成库搜索
1>NppDarkMode.obj : error LNK2019: 无法解析的外部符号 __imp__DrawThemeTextEx@36,该符号在函数 "bool __cdecl NppDarkMode::runUAHWndProc(struct HWND__ *,unsigned int,unsigned int,long,long *)" (?runUAHWndProc@NppDarkMode@@YA_NPAUHWND__@@IIJPAJ@Z) 中被引用
1>NppDarkMode.obj : error LNK2019: 无法解析的外部符号 __imp__BufferedPaintStopAllAnimations@4,该符号在函数 "long __stdcall NppDarkMode::ButtonSubclass(struct HWND__ *,unsigned int,unsigned int,long,unsigned int,unsigned long)" (?ButtonSubclass@NppDarkMode@@YGJPAUHWND__@@IIJIK@Z) 中被引用
1>NppDarkMode.obj : error LNK2019: 无法解析的外部符号 __imp__BeginBufferedAnimation@32,该符号在函数 "void __cdecl NppDarkMode::paintButton(struct HWND__ *,struct HDC__ *,struct NppDarkMode::ButtonData &)" (?paintButton@NppDarkMode@@YAXPAUHWND__@@PAUHDC__@@AAUButtonData@1@@Z) 中被引用
1>NppDarkMode.obj : error LNK2019: 无法解析的外部符号 __imp__EndBufferedAnimation@8,该符号在函数 "void __cdecl NppDarkMode::paintButton(struct HWND__ *,struct HDC__ *,struct NppDarkMode::ButtonData &)" (?paintButton@NppDarkMode@@YAXPAUHWND__@@PAUHDC__@@AAUButtonData@1@@Z) 中被引用
1>NppDarkMode.obj : error LNK2019: 无法解析的外部符号 __imp__BufferedPaintRenderAnimation@8,该符号在函数 "void __cdecl NppDarkMode::paintButton(struct HWND__ *,struct HDC__ *,struct NppDarkMode::ButtonData &)" (?paintButton@NppDarkMode@@YAXPAUHWND__@@PAUHDC__@@AAUButtonData@1@@Z) 中被引用
1>NppDarkMode.obj : error LNK2019: 无法解析的外部符号 __imp__GetThemeTransitionDuration@24,该符号在函数 "void __cdecl NppDarkMode::paintButton(struct HWND__ *,struct HDC__ *,struct NppDarkMode::ButtonData &)" (?paintButton@NppDarkMode@@YAXPAUHWND__@@PAUHDC__@@AAUButtonData@1@@Z) 中被引用
1>Common.obj : error LNK2019: 无法解析的外部符号 __imp__GetTimeFormatEx@24,该符号在函数 __catch$?isCertificateValidated@@YA_NABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@0@Z$1 中被引用
1>NppCommands.obj : error LNK2001: 无法解析的外部符号 __imp__GetTimeFormatEx@24
1>Common.obj : error LNK2019: 无法解析的外部符号 __imp__GetDateFormatEx@28,该符号在函数 __catch$?isCertificateValidated@@YA_NABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@0@Z$1 中被引用
1>NppCommands.obj : error LNK2001: 无法解析的外部符号 __imp__GetDateFormatEx@28
1>CustomFileDialog.obj : error LNK2019: 无法解析的外部符号 __imp__SHCreateItemFromParsingName@16,该符号在函数 "bool __cdecl `anonymous namespace'::setDialogFolder(struct IFileDialog *,wchar_t const *)" (?setDialogFolder@?A0xa98153ac@@YA_NPAUIFileDialog@@PB_W@Z) 中被引用
1>CustomFileDialog.obj : error LNK2001: 无法解析的外部符号 _CLSID_FileOpenDialog
1>CustomFileDialog.obj : error LNK2001: 无法解析的外部符号 _CLSID_FileSaveDialog
1>Debug\notepad++.exe : fatal error LNK1120: 11 个无法解析的外部命令
1>已完成生成项目“notepadPlus.vcxproj”的操作 - 失败。