当前位置: 技术问答>linux和unix
关于连接库的问题?在线等
来源: 互联网 发布时间:2015-11-24
本文导语: 我对linux中的动态连接库有一些问题: 1、 我的程序分为五个目录,如下: dir1, lib, include, dir4,dir5 在dir1的程序中用到了dir4中定义的变量,用extern声明,编译dir1中的程序没有问题,并且生成了一个动态库文件(...
我对linux中的动态连接库有一些问题:
1、
我的程序分为五个目录,如下:
dir1, lib, include, dir4,dir5
在dir1的程序中用到了dir4中定义的变量,用extern声明,编译dir1中的程序没有问题,并且生成了一个动态库文件(libdir1.so)放到lib目录下,头文件放到include目录下,以备其他程序调用。
在目录dir5中,我用到了dir1中生成的库文件,编译的时候我加上了-I../include 和 -L../lib -ldir1,但是编译时提示在dir1中用extern声明的变量无法找到,这是怎么回事?
谢谢
1、
我的程序分为五个目录,如下:
dir1, lib, include, dir4,dir5
在dir1的程序中用到了dir4中定义的变量,用extern声明,编译dir1中的程序没有问题,并且生成了一个动态库文件(libdir1.so)放到lib目录下,头文件放到include目录下,以备其他程序调用。
在目录dir5中,我用到了dir1中生成的库文件,编译的时候我加上了-I../include 和 -L../lib -ldir1,但是编译时提示在dir1中用extern声明的变量无法找到,这是怎么回事?
谢谢
|
将dir4下面的代码编译后用ar命令生成libdir4.a文件,在最终连接时加上-ldir4