分类: C/C++
2008-08-30 02:56:25
程序需要调用一个用c写的静态库里的函数,按部就班的包含了头文件,把库拷贝到lib目录中,makefile 中也指定了lib目录的路径,库的名字,然后编译...undefined symbol...
好吧,不管什么原因,也不打算记录解决的过程,解决的方法如下
1.#define "xxx.h"改为
extern "C"{
#define "xxx.h"
}
2.makefile 中编译的命令加上完整的库的文件名,类似这样:
g++ -o exe aaa.o bbb.o libxxx.a
3.这个库除了在lib目录中外,还分别复制到了/usr/lib目录和程序所在目录,应该说这3个副本只需保留一份,至于保留哪一份没有进行试验