Scintilla 3.2.5在VC中的编译(动态、静态)
来源:互联网 发布:网络教育英语统考题型 编辑:程序博客网 时间:2024/05/18 18:01
Scintilla 3.2.5在VC中的编译(动态、静态)
Scintilla是一个开源的源代码编辑组件。
1. 下载Scintilla源代码(http://www.scintilla.org/ScintillaDownload.html)
本文使用3.2.5版本
2.编译动态链接库 SciLexer.dll
使用 “打开 Visual Studio 20** 命令提示”菜单,进入 VC 的命令行编译环境。
根据 Readme, 进入 scintilla\win32 目录
VC6 运行 nmake -f scintilla_vc6.mak
VC2008 2010 运行 nmake -f scintilla.mak
VC2002 2003 2005运行 nmake -f scintilla.mak (需将 scintilla.mak中的 -MP 编译设置去除)
这样将在 scintilla\bin 中得到 编译好的动态链接库SciLexer.dll 和 Scintilla.dll。
3. 编译静态链接库 ScintillaLib.lib
第一种方法: 参照 Scintilla 3.24在MFC中的使用(动态、静态)
1.创建一个静态库工程,名称为:ScintillaLib。
2.将scintilla源代码文件夹放到工程目录下,将lexers、lexlib、src、win32目录下的文件添加到工程。
3.工程属性,C/C++→General→Additional Include Directories填入.\scintilla\include;.\scintilla\lexlib;.\scintilla\src
C/C++→Preprocessor→Preprocessor Definitions填入STATIC_BUILD;SCI_LEXER
4.注释掉CheckD2D.cxx文件里面的内容。
5.编译完成。
第二种方法:仍然使用 makefile 文件,命令行编译
修改scintilla.mak ,并另存为 scintilla_lib.mak
在 LEXLIB=Lexers.lib 之后增加
SCINTILLALIB = $(DIR_BIN)\ScintillaLib
修改
CXXFLAGS=-Zi -TP -MP -W4 -EHsc -Zc:forScope -Zc:wchar_t-D_CRT_SECURE_NO_DEPRECATE=1
为
CXXFLAGS=-TP -W3 -EHsc -DWIN32 -D_LIB
修改
CXXNDEBUG=-O1 -MT -DNDEBUG -GL
为
CXXNDEBUG=-O1 -MT -DNDEBUG
添加
!IFDEF DEBUG
CXXFLAGS=$(CXXFLAGS) $(CXXDEBUG)
LDFLAGS=$(LDDEBUG) $(LDFLAGS)
SCINTILLALIB =$(SCINTILLALIB)d.lib
!ELSE
CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG)
SCINTILLALIB =$(SCINTILLALIB).lib
!ENDIF
修改
ALL: $(COMPONENT) $(LEXCOMPONENT)$(LEXLIB) $(DIR_O)\ScintillaWinS.obj
为
ALL: $(SCINTILLALIB)
在
$(LEXLIB): $(LEXOBJS)
LIB /OUT:$@ $(LEXOBJS)
之后增加
$(SCINTILLALIB): $(LOBJS) $(DIR_O)\ScintRes.res
$(LD) /lib/OUT:$@ $**
运行 nmake -f scintilla_lib.mak 编译得到 ScintillaLib
- Scintilla 3.2.5在VC中的编译(动态、静态)
- Scintilla 3.24在MFC中的使用(动态、静态)
- Scintilla 在MFC中的简易使用(动态、静态)
- Scintilla 在MFC中的简易使用(动态、静态)
- Scintilla在WTL中的简易使用
- Java中的静态编译和动态编译
- 如何在vc中使用mingw编译出来的动态库和静态库
- 如何在vc中使用mingw编译出来的动态库和静态库
- VC , Linux 静态编译与动态编译 (MD, MT)
- vc win32 Scintilla编辑器
- Scintilla在VC6和VS里的编译方法
- apache的静态/动态编译在apache+php+mysql+gd中的应用
- VC动态库,静态库编译选项的使用
- VC动态库,静态库编译选项的使用
- “为了能够访问动态链接库中的位图资源,在编译动态链接库时,需要使用MFC静态库”
- wxWidgets编译和在VC中的配置
- wxWidgets编译和在VC中的配置
- 使用VC++编译器静态编译Qt5.5
- Ubuntu10.04 LTS 64位编译android4.1.2_r1遇到的错误及解决方法
- java变量
- Visual Studio复制的安装与部署工程的问题
- openstack 模块eventlet example code
- Delphi 7 和 Delphi 2007/2009/2012(XE3) 的区别
- Scintilla 3.2.5在VC中的编译(动态、静态)
- LINUX常用命令(基础)
- 高效程序员秘籍(8):养成使用网络笔记本、网络文件同步工具的习惯
- 面向对象的理解
- libevent资料合集
- 高效程序员秘籍(9):快速查找硬盘上的文件和目录
- 网站开发的技术和思想的思考
- javascript动态生成表格,可传值
- Delphi、Python使用CGI Apache的配置文件需要修改的事项