免费注册 查看新帖 |

Chinaunix

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

[C++] g++生成动态链接库出错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-09-14 23:54 |只看该作者 |倒序浏览
我有一个deamon.cpp文件,用命令g++ -c deamon.cpp -o deamon.o编译成deamon.o目标文件,再想把它生成一个动态链接库.so文件。执行如下命令
  1. g++ -shared -fPCI -o libmyhell.so deamon.o
复制代码
结果给我报了这么一个错,请各位大神指点……
搞不清楚哪里出错了:
  1. skytrails@debian:~/back_trunk/objs/deamon$ g++ -shared -fPIC -o libmyhell.so deamon.o
  2. /usr/bin/ld:deamon.o: file format not recognized; treating as linker script
  3. /usr/bin/ld:deamon.o:1: syntax error
  4. collect2: error: ld returned 1 exit status
复制代码

论坛徽章:
0
2 [报告]
发表于 2015-09-15 00:10 |只看该作者
本帖最后由 drangon 于 2015-09-15 00:11 编辑

file  deamon.o 看看结果,看看是否obj文件(ELF object)

另外编译deamon.o也需要加 -fPIC 参数

论坛徽章:
0
3 [报告]
发表于 2015-09-15 21:58 |只看该作者
drangon 发表于 2015-09-15 00:10
file  deamon.o 看看结果,看看是否obj文件(ELF object)

另外编译deamon.o也需要加 -fPIC 参数
执行了下,file deamon.o ,文件类型为ascii text,这是什么 情况?怎么破?

论坛徽章:
0
4 [报告]
发表于 2015-09-15 22:19 |只看该作者
重新执行了下,发现是因为g++增加了-MM选项,导致生成了ascii text文件,去掉之后就可以了。但我想要这个选项,要怎样才能既使用了-MM又生成obj文件?

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
5 [报告]
发表于 2015-09-15 22:37 |只看该作者
回复 4# _skytrails

跑两遍不就好了,一遍-MM,一遍-c……

论坛徽章:
0
6 [报告]
发表于 2015-09-15 22:50 |只看该作者
windoze 发表于 2015-09-15 22:37
回复 4# _skytrails

跑两遍不就好了,一遍-MM,一遍-c……
貌似-MM是用来生成[d]文件的

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
7 [报告]
发表于 2015-09-15 23:02 |只看该作者
回复 6# _skytrails


对啊,-MM生成dep,-c是编译,这两个开关不能同时用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP