日期:2014-05-16  浏览次数:20806 次

linux + Sybase,调用libsybcs.so出现问题
小弟项目是Linux(Suse11 32位)+Sybase(32位) + C++ Poco库开发,现在从32位移植到64位Linux上。
配置变为Linux(Suse 64位) + Sybase(64位)+ C++ Poco库。其中Poco的动态链接库已经在64位机器上编译成功,且连接没有错误。 但Sybase的库却出现了连接错误,错误日志如下:
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lsybcs
collect2: ld 返回1。
然后我用root用户 find / -name libsybcs.so 查找出其路径为:
/home/sybase/OCS-15_0/devlib/libsybcs.so
/home/sybase/OCS-15_0/lib/libsybcs.so
和我之前在32位设备上一样。问题应该就是出在ld上面,是因为sybase没装好么? 还有这个ld是一个什么文件呢?我找了好一阵也没找到对它的讲解。
求普及啊。。。

------解决方案--------------------
探讨

我把CMakeFiles/***.dir/link.txt贴出来:
/usr/bin/c++ -g CMakeFiles/smm_match.dir/source/KMatch.cpp.o CMakeFiles/smm_match.dir/source/KLoadSeedThreadTask.cpp.o
CMakeFiles/smm_match.dir/source/KDow……