CAA使用boost库的诸多问题

摘要:
CAA是由自己的编译器编译的,因此以常规方式设置项目属性很可能不会起作用,甚至会导致错误。CAA是模块化编程。编译期间无法读取直接#include头文件。1.要在模块中使用boost,请在模块的Imakefile中配置boost库。在mk文件中添加以下代码。请注意,路径中不应有空格。库名称似乎没有任何用处。您不需要配置#的本地路径。lib_ LDFLAGS=-LIBPA

CAA由自己的编译器完成编译,所以按常规方式设置项目属性很有可能不起作用甚至出错。

CAA是模块化编程,直接#include头文件在编译时并不能被读取过来。

1. boost库的配置

  • 欲在某个Module中使用boost,就在该Module的Imakefile.mk文件中添加类似以下代码,注意路径中不能有空格,其中lib名称好像没什么用,不需配置

#.lib所在路径
LOCAL_LDFLAGS=  
-LIBPATH:"D:ProgramDataoost_1_68_0stagelib"  
-LIBPATH:"D:ProgramDataoost_1_68_0libs"     
#.lib名称
SYS_LIBS =  
#libboost_filesystem-vc110-mt-x32-1_68.lib  
#libboost_filesystem-vc110-mt-gd-x32-1_68.lib 
#头文件所在路径
LOCAL_CCFLAGS = -I"D:ProgramDataoost_1_68_0" 
 

  • 按照非CAA的常规设置,添加附加包含目录,否则VassisX不智能提示。

2. boost库的使用

配置好之后一般只能保证编译无误,链接可能会出以下问题

    • error LNK2019: 无法解析的外部符号 "void __cdecl boost::throw_exception(class std::exception const &)"。%%解决方法,#define _CPPUNWIND
    • std::list与CAA的list对象命名空间冲突,编译器不知道该使用哪一个。%%解决方法,不使用using namespace std; 对每个std对象前加std,如std::string或using std::string;
    • 无法解析的外部符号 "void __cdecl boost::filesystem::path_traits::convert。%%解决方法,对于非CAA项目,项目 -> c/c++ -> 语言 -> 将wchar_t视为内置类型(是)一般可以解决问题,但CAA在编译时,不去读VS的项目配置,所以配置后不起作用。目前解决方法是,不将string作为boost/filesystem的输入输出,改为wstring。构造wstring时,一般为std::wstring=L"123"

免责声明:文章转载自《CAA使用boost库的诸多问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle 中Number的长度定义java加解密算法--常见加解密算法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转】G++ 处理 /usr/bin/ld: cannot find -lc

原文网址:http://blog.sina.com.cn/s/blog_67bbb71101010tto.html 用g++编译C++程序时显示出:/usr/lib/ld: cannot find -lc/usr/lib/ld: cannot find -lgcc_s/usr/lib/ld: cannot find -lm/usr/lib/ld: cann...

Oracle 与 iptables 和 SELinux 禁用关系 说明

本文转自Oracle ACS 团队Steven.Lee的blog,链接如下: http://www.dbaleet.org/is_disable_iptables_and_selinux_to_be_mandatory/ 在刚开始学习Oracle的时候,很多老鸟告诉我应该关闭操作系统的iptables和SELInux,因为Oracle不支持, 否则会...

Windows 下openssl安装与配置

编译thirift失败 网上方法很多,大部分是针对32位机的,自己的电脑因为是win7,64位,摸索了很久才安装成功.   环境 WIN7, 64位, vs2005   下载ActivePerl 配置过程中需要生成一些mak文件,这些生成代码用perl脚本生成,所以要安装一个ActivePerl.   网址: http://www.activestate...

【linux】【qt5】【将linux下的qt程序打包发布(完全适用于中标麒麟)】

前言: 最近因项目需求,需要打包linux-qt程序给客户先用一下子。百度一大堆终于找了几个靠谱的来综合一下,留为备用吧。 由于是先遣版所以仅制作为免安装程序的格式。 正文: 博主的qt是5.9.2的,程序名称为ocs,下面看到这个名称替换成自己的就是了。 1.先找个地方,比如桌面创建一个名字为OCS的空文件夹用于放打包后的文件。 2.将项目使用Relea...

linux系统编程:获取glibc的版本号

我的环境是ubuntu16.04 glibc官网:http://www.gnu.org/software/libc/libc.html 方法一、一般来说,涉及到库调用的程序,在链接时候都会链接到glibc,所以,可以用ldd命令来查看 ghostwu@ubuntu:~/c_program/linux_unix/chapter4$ ldd ./pwd | g...

rpm 包安装的一些常用的命令以及 以及一些依赖包的查看

在安装  director ISO 时我们经常需要查看一些包的依赖关系:       #rpm -ql       #rpm -qa                 # rpm -qa|grep servicelog                  # rpm -qa vacpp*                        vacpp.rte-11....