第三方库的编译

第三方库的编译,第1张

概述///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 所有第三方库编译的时候,需要注意自己项目的runtimelib是用的mt, 还是md, 第三方库也要统一,避免出现 error LNK2005重定义错误。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

所有第三方库编译的时候,需要注意自己项目的runtimelib是用的mt, 还是md,

第三方库也要统一,避免出现error LNK2005重定义错误。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

zlib1.2.5

http://www.cppblog.com/fwxjj/archive/2010/09/26/127733.HTML

zlib1.2.3 有工程文件,使用方便。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

sqlITE:自己新建项目,用源码编译。


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

libcurl:

源码中有工程文件,直接编译。


libcurl+openssl:

http://hi.baIDu.com/%CC%BF%D6%ED/blog/item/03af5904dce2e97003088149.HTML

openssl deBUG版本:编译选项加 -Zi,链接选项加上 -deBUG

libcurl工程中添加openssl的头文件和库,添加宏BUILDING_liBCURL;USE_SSLEAY;USE_OPENSSL


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


MysqL:

到MysqL官网下载MysqL connector/c++的msi版本,
然后完全安装,默认目录是c:/program file/MysqL.
1.1.0版本需要boost库

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Google buffer:

源码中有工程文件,直接编译


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

boost_1_49_0:

解压后运行bootstrap,编译bjam

在visual studio命令行boost目录中里输入

bjam --with-system --with-regex --with-date_time --with-thread --with-serialization --toolset=msvc-9.0

这里使用的vc2008,其他版本请自行调整

使用时,包含boost_1_44_0\目录,lib在boost_1_44_0\stage\lib即可

libboost_date_time-vc90-mt-1_49.lib---release

libboost_date_time-vc90-mt-gd-1_49.lib--deBUG


如果用mt版本,则runtime-link=static

转自:http://www.cppblog.com/sunicdavy/archive/2010/09/26/127743.HTML

http://blog.csdn.net/tadican/article/details/4273004

bjam参数
--build-dir=<builddir> 编译的临时文件会放在builddir里(这样比较好管理,编译完就可以把它删除了)
--stagedir=<stagedir> 存放编译后库文件的路径,默认是stage
--build-type=complete 编译所有版本,不然只会编译一小部分版本(确切地说是相当于:variant=release,threading=multi;link=shared|static;runtime-link=shared)
variant=deBUG|release 决定编译什么版本(DeBUG or Release?)
link=static|shared 决定使用静态库还是动态库。
threading=single|multi 决定使用单线程还是多线程库。
runtime-link=static|shared 决定是静态还是动态链接C/C++标准库。
--with-<library> 只编译指定的库,如输入--with-regex就只编译regex库了。
--show-librarIEs 显示需要编译的库名称

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

boost_1_52_0的编译安装

文档: http://www.boost.org/doc/libs/1_52_0/more/getting_started/windows.HTML



/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

总结

以上是内存溢出为你收集整理的第三方库的编译全部内容,希望文章能够帮你解决第三方库的编译所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1175774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存