- 论坛徽章:
- 0
|
最近在开发的时候使用到 一些开源的 第三方库,其全部是用C写的。 \r\n\r\n在solaris 平台上编译安装完毕后, 我自己用C++写的程序调用这些库。 \r\n\r\n在最后链接的时候居然出现 无法链接的情况。 \r\n\r\n- \r\nsol7:$ gcc -o test1 clsQuerier.o testspf.o -lpthread -R/export/nfs/src/libspf/.libs -L/export/nfs/src/libspf/.libs -lspf -lresolv -lsocket -lnsl -lc \r\nUndefined first referenced \r\nsymbol in file \r\nSPF_close(peer_info_s *) clsQuerier.o \r\nSPF_init(char const *, char const *, char const *, char const *, char const *, unsigned int, unsigned int)clsQuerier.o \r\nld: fatal: Symbol referencing errors. No output written to test1 \r\ncollect2: ld returned 1 exit status \r\n
复制代码 \r\n\r\n\r\n并且我已经使用第三方库中自己带的C的测试程序试过。 如果仅仅把它的测试程序(只有一个文件)由 test.c 改为 test.cpp 那么一样会链接失败。 \r\n\r\n也就是说在一切都一样的情况下,它自己带的测试程序 .c编译后可以链接, .CPP编译后链接失败。 \r\n\r\n而这个问题在 linux 下我试了几个系统(RED HAT, TURBO)都没问题。 \r\n\r\n惟独 solaris 出了问题。 \r\n我的系统是 solaris 7$:uname -a \r\nSunOS sol7.aaa.com 5.7 Generic sun4u sparc SUNW,Ultra-2 \r\n\r\n$ gcc -v \r\nReading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/specs \r\ngcc version 2.95.2 19991024 (release) \r\n\r\n哪位兄弟碰到过类似情况,请求帮助。谢谢! |
|