红联Linux门户
Linux帮助

LINUX中C++中库依赖的一个问题

发布时间:2008-06-03 10:32:49来源:红联作者:bychina
在SUSE下编程,eclipse3.2中编写C++,使用GCC/ICC编译器。

1,开始建立了一个静态库a.o,有a1,a2,a3....等函数;

2,然后再建立一个静态库b.o,b.o中要使用a.o中的某些函数,b.o中的函数是b1,b2,b3....等;

3,最后,在自己的工程MY中,使用了b.o中的函数,而没有使用a.o中的函数,在连接时,会找不到a.o,从而出错,(在工程的属性中,也加入了a库和它的路径)

4,这时,如果,在MY中,随便使用一个a.o中函数,比如a1,其它和步骤3完全一致,那么编译连接都正常。

是b库对a库的依赖问题,链接时应该把a库放在b库后面,类似于 gcc -o my.o b.o a.o或者gcc -o my.o -lb -la

试验后,问题解决,两种情况,一是按顺序加入库,要么在自己的代码中使用了被依赖库中的函数,都不会有问题。
文章评论

共有 0 条评论