当前位置: 技术问答>linux和unix
使用libpthread.so库的问题?
来源: 互联网 发布时间:2016-04-07
本文导语: 最近在Solaris58下面编译一个东西,用到了第三方的动态库,最后运行可执行文件的时候得到一个错误提示: **************************************************** "file /usr/local/CAD_Translator/lib3dx/solaris_a/code/bin/libCATSysMultiThreading.so: sy...
最近在Solaris58下面编译一个东西,用到了第三方的动态库,最后运行可执行文件的时候得到一个错误提示:
****************************************************
"file /usr/local/CAD_Translator/lib3dx/solaris_a/code/bin/libCATSysMultiThreading.so: symbol pthread_mutexattr_settype: referenced symbol not found"
****************************************************
libCATSysMultiThreading.so是我用到了第三方的库,我查了一下,pthread_mutexattr_settype函数似乎应该在libpthread.so里面,我在makefile里面加上了"-lpthread"的选项,但是问题依旧。我搜了一下,在我机器上“/usr/lib"下面是有libpthread.so这个文件的。但现在依旧找不到pthread_mutexattr_settype这个函数,不知是不是使用libpthread.so这个库需要什么特殊的编译选项,哪位朋友有这方面的开发经验还望不吝赐教,谢谢!
****************************************************
"file /usr/local/CAD_Translator/lib3dx/solaris_a/code/bin/libCATSysMultiThreading.so: symbol pthread_mutexattr_settype: referenced symbol not found"
****************************************************
libCATSysMultiThreading.so是我用到了第三方的库,我查了一下,pthread_mutexattr_settype函数似乎应该在libpthread.so里面,我在makefile里面加上了"-lpthread"的选项,但是问题依旧。我搜了一下,在我机器上“/usr/lib"下面是有libpthread.so这个文件的。但现在依旧找不到pthread_mutexattr_settype这个函数,不知是不是使用libpthread.so这个库需要什么特殊的编译选项,哪位朋友有这方面的开发经验还望不吝赐教,谢谢!
|
检查一下这个第三方的库要的solaris版本是否和你的一致。solaris 9 和8的系统库有较大的出入,增加了不少东西
-----------------------------------------------------------
《征服C/C++企业软件开发核心技术》
主题词 unix/linux 多线程 网络通讯 数据库 内存排错和性能分析
http://www.khp.com.cn/books/detail.asp?bookid=1707
-----------------------------------------------------------
《征服C/C++企业软件开发核心技术》
主题词 unix/linux 多线程 网络通讯 数据库 内存排错和性能分析
http://www.khp.com.cn/books/detail.asp?bookid=1707
|
ldd /usr/local/CAD_Translator/lib3dx/solaris_a/code/bin/libCATSysMultiThreading.so
输出结果是啥?
输出结果是啥?
|
先按楼上说的,用ldd看看链到哪个pthread库上
|
编译没问题,运行时找不到?LD_LIBRARY_PATH里的路径顺序调整一下?