g++动态库静态库混合链接
2015-07-27 18:30
405 查看
今天编译一个程序时报错:
找不到boost库,但是明明安装了的(但是只有动态so,没有静态.a库文件):
分析编译命令,发现编译目标是静态库(-static ),猜测可能是ld只去查找了.a静态库文件,而忽略了动态库文件。
解决办法:
明确指定哪些库文件动态链接、哪些库文件静态链接:
果然搞定了。
g++ -static -o echo.fcgi echo_adaptor.o echo.o -L/usr/local/lib/ -lfastcgipp -L/usr/lib/ -lboost_thread -pthread -lboost_system -lboost_date_time -L/home/chu/lib/ -lwebframework -L/usr/local/lib/ -lctemplate_nothreads -L/usr/lib64/mysql/ -lmysqlclient -L/lib64/ -lrt -Wl,-R/usr/local/lib/ -Wl,-R/usr/lib/ -Wl,-R/usr/local/lib/ /usr/bin/ld: cannot find -lboost_thread /usr/bin/ld: cannot find -lboost_system /usr/bin/ld: cannot find -lboost_date_time /usr/bin/ld: cannot find -lmysqlclient /usr/bin/ld: cannot find -lrt /usr/bin/ld: cannot find -lstdc++ /usr/bin/ld: cannot find -lm /usr/bin/ld: cannot find -lpthread /usr/bin/ld: cannot find -lc collect2: 错误:ld 返回 1
找不到boost库,但是明明安装了的(但是只有动态so,没有静态.a库文件):
chu@:~/SCFF_proj/trunk/example/echo/websvc[06:25:35]$ ll /usr/lib/libboost_thread* -rw-r--r--. 1 root root 524 6月 10 2014 /usr/lib/libboost_thread-mt.so -rwxr-xr-x. 1 root root 84980 6月 10 2014 /usr/lib/libboost_thread-mt.so.1.53.0 lrwxrwxrwx. 1 root root 21 2月 10 02:04 /usr/lib/libboost_thread.so -> libboost_thread-mt.so
分析编译命令,发现编译目标是静态库(-static ),猜测可能是ld只去查找了.a静态库文件,而忽略了动态库文件。
解决办法:
明确指定哪些库文件动态链接、哪些库文件静态链接:
g++ -static -o echo.fcgi echo_adaptor.o echo.o -Wl,-Bstatic -L/usr/local/lib/ -lfastcgipp -L/home/chu/lib/ -lwebframework -L/usr/local/lib/ -lctemplate_nothreads -Wl,-Bdynamic -L/usr/lib/ -lboost_thread -pthread -lboost_system -lboost_date_time -L/usr/lib64/mysql/ -lmysqlclient -L/lib64/ -lrt -Wl,-R/usr/local/lib/ -Wl,-R/usr/lib/ -Wl,-R/usr/local/lib/
果然搞定了。
相关文章推荐
- MYCNCART 自适应主题模板 MCCThemes-005
- POJ 1084 Square Destroyer
- findbug笔记
- 绑定远程服务的流程aidl
- 【读书笔记】UIWindow-WindowLevel
- poj 3020 Antenna Placement 二分图匹配
- leetcode刷题 总结 记录 备忘 64
- 关联源码
- codeforce Gym 100500H ICPC Quest (简单dp)
- android学习笔记---63-PopupWindow,泡泡窗口的实现
- 中国澳门sinox很多平台CAD制图、PCB电路板、IC我知道了、HDL硬件描述语言叙述、电路仿真和设计软件,元素分析表
- 排序算法 java实现
- HDU 3529 Bomberman - Just Search!
- 美团Android自动化之旅—生成渠道包
- 操作系统知识点
- SQLServer中事务日志已满的原因以及解决办法
- Android蓝牙开发浅谈
- IntelliJ IDEA 注册码
- JVM 进阶 六
- HDU 2295 Radar