程序编译、链接相关问题(持续更新中......)
2017-06-24 10:06
267 查看
1、有次在程序编译过程中,总是出现“undefined reference to *”的问题,检查所需的库都已添加,最后确认发现是库的顺序不对的问题。需要注意:需要依赖其它库的库一定要放在前面。
2、当对动态库与静态库混合连接的时候,使用-static会导致所有的库都使用静态连接的方式。这时需要作用-Wl的方式:
另外还要注意系统的运行库使用动态连接的方式,所以当动态库在静态库前面连接时,必须在命令行最后使用动态连接的命令才能正常连接,如:
最后的-Wl,-Bdynamic表示将缺省库链接模式恢复成动态链接。
2、当对动态库与静态库混合连接的时候,使用-static会导致所有的库都使用静态连接的方式。这时需要作用-Wl的方式:
gcc test.cpp -L. -Wl,-Bstatic -ltestlib -Wl,-Bdynamic -ltestdll
另外还要注意系统的运行库使用动态连接的方式,所以当动态库在静态库前面连接时,必须在命令行最后使用动态连接的命令才能正常连接,如:
gcc test.cpp -L. -Wl,-Bdynamic -ltestdll -Wl,-Bstatic -ltestlib -Wl,-Bdynamic
最后的-Wl,-Bdynamic表示将缺省库链接模式恢复成动态链接。
相关文章推荐
- Xcode 编译链接问题汇总(持续更新中....)
- Xcode 编译链接问题汇总(持续更新中....)
- 解决Linux程序编译链接动态库版本的相关问题
- windows下编译OpenGL程序时出现的链接问题的处理
- 持续更新:测试相关的博客链接等
- 动态库静态库编译链接相关问题若干
- 与OpenCV相关的链接与分享(持续更新中...)
- Visual Studio2011安装问题(更新无法定位程序输入点_Atomic_fetch_sub_4动态链接库MSVCR110.dll上的问题)
- 一些与编译,链接相关的问题(zz)
- 下载和编译Android源码问题集(持续更新)
- QT4编译问题(持续更新)
- BizTalk相关的问题,打算持续更新。
- 编译和链接都成功,但是找不到cutil32.dll,程序无法启动的问题
- chromium相关问题集合--持续更新中
- javascript---遇到关于this的相关问题(解决this)(持续更新中...)
- hadoop2.0 相关问题(持续更新)
- [持续更新] 关于Object Oriented的相关链接
- 图论相关问题——持续更新ing
- 编译,链接相关的问题。-fPIC ,地址无关代码,等等
- Microsoft.Practices.EnterpriseLibrary for .Net2.0使用中的问题(相关问题持续更新)