当前位置: 技术问答>linux和unix
gcc命令怎么链接库
来源: 互联网 发布时间:2016-04-18
本文导语: 最近在研究nslookup工具 把它的源代码弄下来了 我粘贴在了http://paste.ubuntu.com/13985/上 看了一遍 语法错误应该是没有的 用gcc命令编译:gcc -o nslookup nslookup.c之后出现比较多的错误(有100多个吧) 其中有俩是找不到头...
最近在研究nslookup工具
把它的源代码弄下来了
我粘贴在了http://paste.ubuntu.com/13985/上
看了一遍
语法错误应该是没有的
用gcc命令编译:gcc -o nslookup nslookup.c之后出现比较多的错误(有100多个吧)
其中有俩是找不到头文件:一个头文件是config.h,另一个头文件是dig/dig.h
我的ubuntu 8.04系统因为已经安装好了bind9.4.2
所以
我就直接在系统里搜出config.h和dig/dig.h复制到/usr/inclde目录
再看看程序
里面有好几个dns/***.h及isc/***.h
我怕出现类似找不到头文件的情况
也把符合要求的dns文件夹以及isc文件夹复制到了/usr/inclde目录
再用gcc -o nslookup nslookup.c命令编译
出现的问题不再是找不到头文件了
而是一大堆的未定义
里面未定义有函数、也有未定义参数
但是
所有未定义的东西虽然在程序中确实找不到定义语句
可在程序所包含的头文件中都能找到
到这里
应该可以肯定程序编译通不过的原因是未连接库
本人刚刚开始学习Linux系统
还是个菜鸟
到晚上搜了点东西
按着别人的方法连接了一些库
效果都一样
应该是所连接的库不正确所致
现请高手帮忙告诉我
这个程序该怎么链接库
知道的请您说详细点
最好是让我等菜鸟一目了然
谢谢您的大度
把它的源代码弄下来了
我粘贴在了http://paste.ubuntu.com/13985/上
看了一遍
语法错误应该是没有的
用gcc命令编译:gcc -o nslookup nslookup.c之后出现比较多的错误(有100多个吧)
其中有俩是找不到头文件:一个头文件是config.h,另一个头文件是dig/dig.h
我的ubuntu 8.04系统因为已经安装好了bind9.4.2
所以
我就直接在系统里搜出config.h和dig/dig.h复制到/usr/inclde目录
再看看程序
里面有好几个dns/***.h及isc/***.h
我怕出现类似找不到头文件的情况
也把符合要求的dns文件夹以及isc文件夹复制到了/usr/inclde目录
再用gcc -o nslookup nslookup.c命令编译
出现的问题不再是找不到头文件了
而是一大堆的未定义
里面未定义有函数、也有未定义参数
但是
所有未定义的东西虽然在程序中确实找不到定义语句
可在程序所包含的头文件中都能找到
到这里
应该可以肯定程序编译通不过的原因是未连接库
本人刚刚开始学习Linux系统
还是个菜鸟
到晚上搜了点东西
按着别人的方法连接了一些库
效果都一样
应该是所连接的库不正确所致
现请高手帮忙告诉我
这个程序该怎么链接库
知道的请您说详细点
最好是让我等菜鸟一目了然
谢谢您的大度
|
头文件的路径用-I,库文件路径用-L,比如说-I/usr/myinclude -L/usr/mylib
但是我看nslookup.c应该是一个完整的工程文件包的其中一个文件吧?你光找到这么一个文件估计是不能编译的,一定要有其它的文件支持才行。
但是我看nslookup.c应该是一个完整的工程文件包的其中一个文件吧?你光找到这么一个文件估计是不能编译的,一定要有其它的文件支持才行。
|
-L指定库的路径,-l指定库的名字 libxml2 可以这样写-lxm2