在Fedora环境下用vim写了一个头文件.h和一个.c文件,这个.c文件用到了.h,请问用gcc编译它的命令是什么?

新手勿喷... 新手勿喷 展开
 我来答
学海识智渊2
2014-04-04 · TA获得超过327个赞
知道小有建树答主
回答量:170
采纳率:50%
帮助的人:104万
展开全部
他是不是给你一个动态链接库 .a结尾的文件,编译的时候需要添加进去
这里举个例子
编译 gcc test.c -lhello
-l 选项告诉编译器要使用hello这个库。奇怪的地方是动态库的名字是libhello.so,这里却使用hello.

但这样还不行,编译会出错。
In function `main':

test.c:(.text+0x1d): undefined reference to `hello'
collect2: ld returned 1 exit status

这是因为hello这个库在我们自己的路径中,编译器找不到。
需要使用-L选项,告诉hello库的位置

gcc test.c -lhello -L. -o test

-L .告诉编译器在当前目录中查找库文件
kaixingui2012
2014-04-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6448万
展开全部
一个头文件.h(XXX.h)和一个.c文件(xxx.c)
这个.c文件用到了.h 就在.c文件中加入对该文件的引用
#include "XXX.h"
然后
gcc xxx.c
生成a.out
更多追问追答
追问
头文件里定义了err_sys()函数,然后在.c程序中调用,但是编译的时候显示err_sys()函数没有定义,程序是绝对没错的,因为是APUE里的程序
追答
一般情况,我们在头文件中,只是进行函数声明,具体的函数定义与实现,要单独的去写才可以!你可以提供你的代码,帮你看看
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式