首页 > 其他 > 详细

cpp项目的组织

时间:2015-10-24 00:14:13      阅读:334      评论:0      收藏:0      [点我收藏+]

编译篇

较大型cpp项目的代码组织、编译都是深耦合的。

一般提供一个总体的makefile,进入各个模块,又有自己的makefile,这些makefile又都依赖于一些被include的文件的的定义,为什么要这样原因不必多言。

但要想改变编译环境时,却很难顺利的移植。我们可能踩过的坑有:

1)找不到类库,这个还比较好处理,绝对是你指定的目录问题,甚至是当前目录——一个小圆点不要疏忽了

2)依赖库不匹配,比如glibc、i686、x86_64等,只管去匹配好了

3)还是找不到定义:  注意调整依赖的顺序,一般越是通用、没有耦合的库要尽可能放在后面,让前面找不到定义的库有机会去查找,还有就是双向关联的类——做好声明。

 

如何定位一些原因,必须学会如下命令:

ldd -r

strings | grep ...

file 或者 objdump -a

 

makefile中对操作系统的判断:

ARCH = $(shell getconf LONG_BIT) 

uname -m

ifeq ($(OS_TYPE), x86_64) LIB_EPOLL =

else LIB_EPOLL = -lepoll

endif

 

待续

 

cpp项目的组织

原文:http://www.cnblogs.com/leby/p/4905920.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!