博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Visual Studio 2013 编译Notepad++源码
阅读量:6228 次
发布时间:2019-06-21

本文共 1471 字,大约阅读时间需要 4 分钟。

  hot3.png

闲话不多说,下面开始:

一、首先是下载Notepad++源码

Notepad++官网:

使用Svn check out 源码或者直接下载zip包

路经:svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk

或者:http://svn.tuxfamily.org/notepadplus/repository/trunk/

源码下载成功后有两个目录:

..\PowerEditor

..\scintilla

还有一个readmeFirst.txt文件,该文件就是编译步骤说明。

二、编译Scintilla

因为Notepad++是基于Scintilla 开发的,所以需要先编译Scintilla。

这里编译分两种情况:是否包含Boost。因为SciLexer.dll(编译Scintilla生成的动态链接库)从6.0以后的release版本包括了Boost的PCRE(Perl Compatible Regular Expressions) 库,PCRE其实就是一个Perl库,包括Perl兼容的正则表达式库,所以编译Scintilla需要Boost的支持。如果不包含Boost,则编译Scintilla时默认使用POSIX这个正则表达式库来代替PCRE,这样也能正常编译运行Notepad++,但是可能会导致部分功能不正常。这里根据自己的需要进行选择。

打开Visual Studio 2013的命令行工具,进入 ...\scintilla\ 目录:

1、  包含Boost的编译步骤

l  下载Boost源码 ,解压到一个目录

l  到 ..\scintilla\boostregex\ 目录下运行BuildBoost.bat,参数为Boost源码路径如:BuildBoost.bat E:\sources\boost_1_54_0

l  到 ..\scintilla\win32\ 目录下运行命令:nmake -f scintilla.mak

2、  不包含Boost的编译步骤

l  到 ..\scintilla\win32\ 目录下运行命令:nmake NOBOOST=1 -f scintilla.mak 

运行成功之后在 ..\scintilla \bin目录下可以看到生成的一系列文件,其中Scintilla.dll正式我们需要的。 

三、编译Notepad++

用Visual Studio 2013打开 ..\PowerEditor\visual.net 目录下的vs工程文件,因为该文件时基于vs2005创建的,所以会有一个升级的过程,升级完成后在Visual Studio 2013里面就可以看到Notepad++的解决方案了。 

将上一步生成的Scintilla.dll复制到该Debug文件内或 \bin内,并将调试模式设置为Unicode Debug,然后编译运行就可以看到Notepad++啦。

四、问题

Ø  "Error C2220 警告被视为错误" 的问题

解决办法:解决方案上右键->属性->配置属性->C/C++->常规,修改“将警告视为错误”的值为“否”即可。

Ø  找不到Notepad++.exe的问题

解决办法:修改其输出文件名,解决方案上右键->属性->配置属性->链接器->常规,将“输出文件”后改为“$(OutDir)NotePad++.exe”

转载于:https://my.oschina.net/xiangmao/blog/174354

你可能感兴趣的文章
LeetCode(1) Symmetric Tree
查看>>
Curl命令
查看>>
HDU 2181 DFS
查看>>
Linux 用C语言判断文件和文件夹
查看>>
Eclipse中jsp、js文件编辑时,卡死现象解决汇总
查看>>
图的基本知识
查看>>
leetcode第一刷_Same Tree
查看>>
高速排序之算法导论实现
查看>>
$.post()提交了数据,return不给跳转
查看>>
检测和删除多余无用的css
查看>>
pip安装使用详解【转】
查看>>
Mybatis 中延时加载
查看>>
固本清源
查看>>
Execution Plan 执行计划介绍
查看>>
聊聊连接池和线程
查看>>
Python——正則表達式(2)
查看>>
适合新人学习的iOS官方Demo
查看>>
拉开大变革序幕(下):分布式计算框架与大数据
查看>>
AndroidStudio 使用AIDL
查看>>
H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式(包含AAC部分解析)
查看>>