Windows环境下编译Notepad++.exe

今天想起来语法高亮的问题,这个在Notepad++里面做的不错,所以就像从源代码中提取一部分作为自己的工程使用。
Notepad++官网:  http://notepad-plus-plus.org/ 
截至到现在,我下载的是npp.5.9.6.2的版本:  http://notepad-plus-plus.org/download/v5.9.6.2.html ,这里面带有源代码的下载。

打开有有个ReadMeFirest的文本文档,这是里面提供的部分关于编译的说明:
There should be several ways to generate Notepad++ binaries, here we show you only the way with which Notepad++ official releases are generated.
* notepad++.exe: Visual Studio 2005
* SciLexer.dll: Visual Studio 2005 (with nmake)

Notepad++ Unicode release binary (notepad++.exe) and Scintilla release binary (SciLexer.dll) will be built in the directories "notepad++\trunk\PowerEditor\bin" and "notepad++\trunk\scintilla\bin" respectively.
You have to copy SciLexer.dll in "notepad++\PowerEditor\bin" in order to launch notepad++.exe   
简单说就是要编译notepda++.exe和SciLexer.dll这两个文件,而根据后面的说明,要把Scilexer.dll拷贝到Notepad++的目录,所以最好是先编译这个dll文件
打开文件夹scintilla,用记事本打开里面的ReadMe文件,这是里面关于编译的部分
To build Scintilla, make in the scintilla/win32 directory
cd scintilla\win32
GCC: mingw32-make
VS .NET: nmake -f scintilla.mak
cd ..\..
这个dll文件的编译没有提供IDE的工程文件,所以只能命令行编译了,就是按照上面的提示,先打开vs2005的命令行,然后进入到scintilla\win32目录,输入nmake -f scintilla.mak 开始编译,一般来说,这个编译是没有问题的。编译完成后就可以在scintilla\bin目录下找到一个名为SciLexer的dll文件,这个就是一会运行的时候要拷贝的文件了。

然后编译notepad++.exe,这个提供了IDE的工程文件,所在目录是PowerEditor\visual.net,双击打开那个后缀名为vcprojec文件,就可以打开工程文件了,但是编译的时候可能会出现一些错误,我这里出现的是这个错误:
警告被视为错误---没有生成“object”对象,为什么会出现这个问题我也不太清楚,不过有的说是 原因是该文件的代码页为英文,而我们系统中的代码页为中文, 所以就出现了,改的方法就是打开工程属性----配置属性----c/c++---常规,把警告视为错误这项设置为否,然后编译,这个时候还有很多的警告信息,不过无关紧要,是因为没有使用安全的函数,vs里面所谓的安全函数就是在一般的c函数后面加上了_s后缀,比如printf的安全函数就是printf_s,但是这么多的警告看起来也很心烦,去掉的话可以根据提示定义 _CRT_SECURE_NO_DEPRECATE这个宏,而定义的位置则是precompiledHeaders.h这个头文件,看名字就知道了 是预编译的头文件,相当于常见的stdafx.h,在包含都文件的最上面加入#define _CRT_SECURE_NO_DEPRECATE就可以了,记住一定要是在包含头文件之前,要不然没效果的。

PS:这里说的编译是指编译Release版本的,Debug版本的则麻烦很多,除了上面的修改之外,还要添加很多很多的头文件目录

C++中“XXX”被声明为否决的什么意思?

vs认为你的xxx是不安全的
加个编译选项就可以了。于是按 Alt+F7打开项目属性,点击“capturedata属性”,找到“配置属性” -> “C/C++” -> “命令行”,在右侧的“附加选项”文本编辑框里加入 【/D "_CRT_SECURE_NO_DEPRECATE" 】(注意加入的是【】符号里面的文本),点确定。再次编译,就没有这种警告了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值