QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1270|回复: 5

两个gcc的问题,还请高手帮个忙。

[复制链接]
发表于 2006-5-15 06:32:24 | 显示全部楼层 |阅读模式
我使用anjuta编译一个程序。
1 有几个源文件在编译时总是有两行红字,但.o还是生成了,不知道什么意思。
2 在连接这一步,程序中使用的目标库文件(.so)名是如何确定的? 因为我用到了pthread.h头,使用了一个pthread_join,连接时总是undefined reference ,如果用命令行可以在g++后加-lpthread ,要是在anjuta中g++命令都是在自动生成的make文件中自动构建的,能不能直接让gcc找到对应的苦文件?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2006-5-15 07:36:59 | 显示全部楼层
在第1个问题中,chat.cpp有一个包含:
[code]
# include <vector.h>
[/code]
而在vector.h中导致第1行红字。

第2个问题中,如果不用anjuta连接,使用g++ *.o -o chat1 -lpthread 能成功连接,如果在anjuta中修改设置命令,在默认的g++命令行后面加上-lpthread 也无济于事。

各位大哥帮个忙把。
回复

使用道具 举报

发表于 2006-5-15 10:41:08 | 显示全部楼层
只是警告,不是错误
回复

使用道具 举报

发表于 2006-5-15 11:53:00 | 显示全部楼层
学英文吧

红字上面的蓝字是错误原因, -Wmissing-prototypes不能用在编译c++上。
回复

使用道具 举报

 楼主| 发表于 2006-5-15 14:17:22 | 显示全部楼层
这些英文倒能理解,可这些代码是从网上下来的,叫做unix网络编程,也不知哪路外国神仙的作品,应该是没有错误的呀。
看代码,应该是c++的语法,要是改用gcc编,那错误就更多了,数也数不清。

也许是我懒惰,非要使用anjuta的原因?如果使用命令行g++,的确没什么问题。可是对于多文件编译需要make文件,我看了都害怕!难道老大们平时写东西,都是自己搞makefile? 还望大哥们指条道。
回复

使用道具 举报

发表于 2006-5-16 22:32:16 | 显示全部楼层
anjuta中是可以选链接选项的,有一些是默认的,pthread要你自己选上.
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 16:28 , Processed in 0.045312 second(s), 17 queries .

© 2021 Powered by Discuz! X3.5.

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