t*****t 发帖数: 72 | 1 其实是编译时库文件的顺序问题,例如:
gcc -lA -lB -lC -o out
其中-lA, -lB, -lC指向3个不同的库文件, libA.a, libB.a, libC.a.
我现在知道libA.a中有个函数要调用libC.a中的函数,那么在编译
的时候 -lA 和 -lC 选项的排列顺序对编译成功与否是有关系的。
请问这个顺序一般遵循什么样的原则?有什么办法或选择可以使
编译不依赖于联结库的顺序吗?请指教。多谢!!//bow | l*****s 发帖数: 2109 | 2 没影响吧。
【在 t*****t 的大作中提到】 : 其实是编译时库文件的顺序问题,例如: : gcc -lA -lB -lC -o out : 其中-lA, -lB, -lC指向3个不同的库文件, libA.a, libB.a, libC.a. : 我现在知道libA.a中有个函数要调用libC.a中的函数,那么在编译 : 的时候 -lA 和 -lC 选项的排列顺序对编译成功与否是有关系的。 : 请问这个顺序一般遵循什么样的原则?有什么办法或选择可以使 : 编译不依赖于联结库的顺序吗?请指教。多谢!!//bow
| t*****t 发帖数: 72 | 3 sure they have. I got compilation errors when I changed
the order.
【在 l*****s 的大作中提到】 : 没影响吧。
| l*l 发帖数: 26 | 4 I got the same error and fixed it by changing the order.
Could anyone tell me why?
【在 t*****t 的大作中提到】 : sure they have. I got compilation errors when I changed : the order.
| X****r 发帖数: 3557 | 5 You can simply look at the man page of ld yourself
-larchive |
|