免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1459 | 回复: 0
打印 上一主题 下一主题

g++和sun studio互调用动态库的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-26 15:14 |只看该作者 |倒序浏览
我们的平台是solaris 10, sparc, 语言是c++,下面是我的操作步骤

1)用Sun C++ 5.9从print.cpp编译出一个libprint.so文件,使用-KPIC选项。
这一步会成功。

2)然后用g++ 3.4.6编译debug.cpp, 使用-fPIC选项, rint.so,生成libdebug.so
这一步也会成功。

3)最后使用g++ 3.4.6编译main.cpp, 链接libdebug.so文件以生成一个可执行文件。
这一步失败。报错形如
CC -G -KPIC -o libprint.so print.cpp
g++ -shared -fPIC -o libdebug.so debug.cpp -lprint  -L.
g++ -fPIC main.cpp -ldebug -L.
Undefined                first referenced
symbol                              in file
print(char const*)                  ./libdebug.so
ld: fatal: Symbol referencing errors. No output written to a.out
collect2: ld returned 1 exit status

我很奇怪这个错误为什么不在第2)步就出现,而是等到生成可执行文件的时候才出现,请问这是为什么?哪位大虾能指点一两下?多谢先!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP