现在的位置: 首页 > 综合 > 正文

Win32平台如何配置才能使用Boost、ACE、CppUnit

2013年01月20日 ⁄ 综合 ⁄ 共 2460字 ⁄ 字号 评论关闭
本博客(http://blog.csdn.net/livelylittlefish )贴出作 者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!

Win32平台如何配置才能使用BoostACECppUnit

1. 环境变量

 

(1) ACE-5.6.4添加/修改的的环境变量

 

C:/Documents and Settings/zubo.yu>echo %ACE_ROOT%

E:/opensource/ACE-5.6.4/ACE_wrappers

 

为已有的系统变量PATH添加value: %ACE_ROOT%/lib,如下。

C:/Documents and Settings/zubo.yu>echo %PATH%

C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;D:/Program Files/Cppcheck/;C:/Program Files/

Rational/ClearCase/bin;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;D:/Program Files/

UltraEdit/;E:/opensource/ACE-5.6.4/ACE_wrappers/lib

 

(2) Boost-1.40添加的环境变量

C:/Documents and Settings/zubo.yu>echo %BOOST_1_40_ROOT%

E:/opensource/boost_1_40_0

 

(3) CppUnit-1.12.1添加的环境变量

C:/Documents and Settings/zubo.yu>echo %CPPUNIT_ROOT%

E:/opensource/cppunit-1.12.1

 

即,

ACE_ROOT=E:/opensource/ACE-5.6.4/ACE_wrappers

BOOST_1_40_ROOT=E:/opensource/boost_1_40_0

CPPUNIT_ROOT=E:/opensource/cppunit-1.12.1

 

2. VS2005配置

 

vs2005添加对ACE-5.6.4Boost-1.40CppUnit-1.12.1的支持。

 

Tools->options->projects and solutions->VC++ directories

->Include files: 添加$(ACE_ROOT)$(BOOST_1_40_ROOT)$(CPPUNIT_ROOT)/include

->Library files: 添加$(ACE_ROOT)/lib$(BOOST_1_40_ROOT)/stage/lib$(CPPUNIT_ROOT)/lib

 

3. vs2010 配置

 

vs2010添加对ACE-5.6.4Boost-1.40CppUnit-1.12.1的支持。

 

2,在vs2010中,Tools->options->projects and solutions->VC++ directories配置被取消。

公共的"VC++ directories"属性在vs2010中要在Microsoft.Cpp.Win32.user属性页中设置,如下图。

 

 

设置如下:

Microsoft.Cpp.Win32.user属性页->通用属性->VC++目录

->包含目录: 添加$(ACE_ROOT)$(BOOST_1_40_ROOT)$(CPPUNIT_ROOT)/include

->库目录: 添加$(ACE_ROOT)/lib$(BOOST_1_40_ROOT)/stage/lib$(CPPUNIT_ROOT)/lib

 

4. ACE项目在vs2005中的相关配置

 

Project->Properties (or Alt+F7)->Configuration properties->Linker->Input->Additional dependencies: 填入ACEd.libACE.lib

ACEd.libdebug版的库,ACE.librelease版的库。

 

若不添加.lib库文件,会出现“unresolved external symbol”的错误,如:

1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall ACE_Main_Base::run(int,char * * const)" (__imp_?run@ACE_Main_Base@@QAEHHQAPAD@Z) referenced in function _main

5. ACE项目在vs2010中的相关配置

 

项目->属性 (或者Alt+F7)->配置属性->连接器->输入->附加依赖项->编辑: 填入ACEd.libACE.lib

填入ACEd.libACE.lib后,其变为ACEd.lib;%(AdditionalDependencies)

 

否则,与vs2005一样,也会出现“无法解析的外部符号”的错误,如:

1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall ACE_Main_Base::run(int,char * * const)" (__imp_?run@ACE_Main_Base@@QAEHHQAPAD@Z),该符号在函数 _main 中被引用

该项配置在vs2010中也可设置为公共属性,设置如下:

Microsoft.Cpp.Win32.user属性页->通用属性->连接器->输入->附加依赖项->编辑: 填入ACEd.libACE.lib

这样配置以后,非ACE的应用程序也会有ACE的依赖项,当然这不是错误的。

Technorati 标签: , , ,

【上篇】
【下篇】

抱歉!评论已关闭.