使用 VS2019 编译 Notepad2 源码

Notepad2

Notepad2 是一款免费开源的文本编辑器,可以用来替换 Windows 的记事本。
下面我们来看下如何通过源码编译生成 Notepad2 以便定制一些个性化需求。

下载

下载地址
使用 VS2019 编译 Notepad2 源码_第1张图片
我下载的版本是 notepad2-mod-4.2.25.998.zip , 下载完成后解压

编译

如果没有环境执行 version.sh 脚本的话,可以手动编辑下面两个文件:

  • 在 src 目录中创建 VersionRev.h 文件
#define VERSION_HASH _T("0000000")
#define VERSION_REV 0
#define VERSION_REV_FULL _T("0 (0000000)")
  • 将 res 目录中 Notepad2.exe.manifest.conf 文件改名为 Notepad2.exe.manifest
    并用记事本打开
将第6行
version="4.2.25.$WCREV$"
改为
version="4.2.25.0"

文件修改完成后就可以编译了。

错误

  • 如果发生 MSB8020 错误
 error MSB8020: The build tools for v141_xp (Platform Toolset = 'v141_xp') cannot be found.

可以在工程上右键,属性
使用 VS2019 编译 Notepad2 源码_第2张图片
使用 VS2019 编译 Notepad2 源码_第3张图片
平台工具集选择2019, Notepad2 和 Scintilla 都要设置。
属性设置3

  • 如果发生 C2039 错误
error C2039:  “string”: 不是“std”的成员 (编译源文件 win32\PlatWin.cxx)

可以在文件开始加入 #include
使用 VS2019 编译 Notepad2 源码_第4张图片
或者将 C++ 语言标准 设置为 C++ 17
使用 VS2019 编译 Notepad2 源码_第5张图片

  • 如果发生 C2001 错误
error C2001:  常量中有换行符

可以将字符串中的中文符号去掉,或者将 源码 编码改为 带 BOMUTF-8

运行

最后运行结果如下图所示
使用 VS2019 编译 Notepad2 源码_第6张图片

你可能感兴趣的:(Windows编程)