编译 Notepad++ 踩坑记录

官方的指引比较简略,我这里补充一些维护者认为没必要说,但是初次接触的朋友必须注意的内容

宏观步骤

  1. 从 Github 上 Clone 代码下来
  2. 编译 Scintilla,这个是 Notepad++ 的核心依赖库
  3. 编译 PowerEditor,即 Notepad++ 主体程序

步骤 2 中的编译坑

  1. 这个地方要用命令行编译,不能用 VS 直接编译
  2. 此处系统默认 v120_xp 的 Platform Toolset,通俗的讲,你要安装 VS2013 的工具集,最简便的方法是安装 VS2013 Community 版本
  3. 按照文档编译时,要注意的是 Boost 库的版本,此时代码中使用的是 1.58.0,所以我也下载的是这个版本,并放到了一个固定位置
  4. 编译时要用 Developer Command Prompt For VS2013 的命令行,原因是此种启动方式会自带环境变量设置,这一步很重要
  5. 设置 BuildBoost.bat 中的变量

BOOSTPATH=C:\sources\boost_1_58_0
MSVCTOOLSET=msvc-12.0
BOOSTVERSION=1.58.0
其他地方可以不设置

  1. 运行时,不要任何参数,特别是不能加 -x64,因为通过阅读 BuildBoost.bat 的代码我们可以看到,其实 x64 不仅仅是 64 位的意思,本质上是 ia64 指令集的意思,如果你的是 x86 指令集的机器,即传统的 PC 或 PC Server,那么就不要加 -x64 参数进行编译,同样的,后面编译 PowerEditor 时也不要选择 x64 配置
  2. 根据文档编译好 boost 后,再到 win32 下面编译出 dll、lib 等最终结果文件
  3. 将 bin 目录下除 empty.txt 所有的文件拷贝到 PowerEditor 的生成目录中,此处要注意,根据选用的配置不同,其生成目录也不同

步骤 3 中的编译坑

  1. 这个地方需要 VS 直接编译
  2. 此处系统默认 v140_xp 的 Platform Toolset,对于 VS2017 默认只有 v141,解决方法是运行 Visual Studio Installer 在里面增加选项,具体可参考这里
  3. 这时候编译仍然会有 Error 发生,# [error C2220: warning treated as error - no 'object' file generated](https://stackoverflow.com/questions/18225636/error-c2220-warning-treated-as-error-no-object-file-generated),这里同样需要修改配置,具体参考这里

最终即可编译成功,运行!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Boost库下载地址 编译 生成boost的自用的编译工具bjam.exe 解压后,使用Visual Studio...
    elivera阅读 31,130评论 1 12
  • 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装 1.1BLOG文档结构图 ...
    小麦苗DB宝阅读 13,623评论 0 31
  • (2017-6-27) 我开始意识到,我可能对于人生的阶段和生命周期中的一些事情的轻重缓急 缺乏一定的认识。 在什...
    太阳会掉落阅读 3,385评论 0 0
  • 也许应该说点什么,毕竟一年又过去了。 可我此时此刻什么都不想说。因为置身人群,我仍然感到深深的落寞。这世界于我,竟...
    兔子的菜园阅读 1,462评论 4 3
  • 有月亮的夜晚 我坐在窗前 能看见远山 被雾气缭绕 今晚,没有月亮 我坐在窗前 看见满天星斗 闪啊闪啊 草原上吹起了...
    春笺素心阅读 1,111评论 0 0