编译notepad++的错误解决


根据:http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Compiling_Notepad%2B%2B 编译代码,出了一些问题。


  1. 很多头文件找不到,比如 FindCharsInRange.h。解决方法,include的时候要加上头文件所在文件夹,比如  #include "FindCharsInRange\FindCharsInRange.h"。PS:很多文件都是在 src\WinControls 的子目录里,自己找吧。
  2. nullptr未定义。nullptr是C++的新关键字,旧的编译器不识别。用宏定义就好了。
    #ifndef nullptr
    #define nullptr NULL
    assert(startPos != nullptr && endPos != nullptr);
    #endif

  3. localization.cpp 里说找不到 POS_RELOAD 这个标识符的定义。这是二流程序猿犯的拼写错误吧,因为这个文件里定义了一个 POS_RELOAOD 常量,注意拼写:一个是 POS_RELOAD  , 一个是 POS_RELOAOD 。解决方法,将错就错,把 POS_RELOAD 改为 POS_RELOAOD
  4. 编译都通过了,也看到exe文件了,最后还报了一个:error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成后事件..."。我参考了这里的解决方法:

    You can fix this by modifying the project file like this: In Visual Studio, Select the Project (Notepad++) and choose Project > Properties from VS Menu (or hit ALT + F7)

    In the Property Pages window,
    expand the Configuration Properties node
    then, expand the Build Events node
    Select Post-Build Event to view its properties

    Modify the Command Line Property to look like this:
    copy ..\src\config.model.xml ..\bin\config.model.xml
    copy ..\src\langs.model.xml ..\bin\langs.model.xml
    copy ..\src\stylers.model.xml ..\bin\stylers.model.xml

    Click OK and Build away...

 貌似最后要把exe文件放到 PowerEditor\bin 目录下来运行?或者把 PowerEditor\bin 目录下的文件拷贝到Debug(Release)目录下。

你可能感兴趣的:(properties,command,Build,exe,include,events)