QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 663|回复: 5

链接问题,求救!

[复制链接]
发表于 2004-5-25 15:49:44 | 显示全部楼层 |阅读模式
gcc -Wall -pedantic -c common.c
gcc -Wall -pedantic -c MailSniffer.cpp -lpcap
gcc -Wall -pedantic -c CheckEML.cpp
gcc -Wall -pedantic -c Keyword.cpp
gcc -Wall -pedantic -c EMLDealing.cpp

gcc common.o CheckEML.o Keyword.o EMLDealing.o MailSniffer.o   -o mailsniffer -lpthread

多个文件编译链接,其中有c也有cpp,编译可以通过,但是按照上面的Shell进行链接却出错。 common中的函数无法链接到其他程序中。
因为以前的程序就是这么混合开发的,不好改,所以想这样混合链接。应该可以吧。
发表于 2004-5-25 16:22:31 | 显示全部楼层
common.h里函数定义用extern "C" {}括起来。
回复

使用道具 举报

发表于 2004-5-25 16:44:22 | 显示全部楼层
g++更好吧。
回复

使用道具 举报

发表于 2004-5-26 11:49:44 | 显示全部楼层
C++程序用GCC编译的不能链接了。
要用G++的才可以链接。

另外:-Wall -pedantic
这两个选项有什么区别呢?一个是警告,一个是学究的方式?
回复

使用道具 举报

 楼主| 发表于 2004-5-26 22:06:08 | 显示全部楼层
多谢 zhaoqianqiu,的确用g++编译就搞定了。
mozilla的办法是我一开始的做法,也是不成功,但是我不明白,因为我一开始以为这样就能解决c和c++混合编译连接的问题。

gcc是个compiler collections,应该自动会调用g++来编译cpp程序吧,我是这么认为的。不知道对否。
回复

使用道具 举报

发表于 2004-5-27 09:35:48 | 显示全部楼层
我这用extern "C"可以混合编译c和cxx呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 06:53 , Processed in 0.057533 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表