为什么g ++库在Ubuntu上链接而不在Centos上链接?

时间:2019-04-23 14:00:39

标签: g++

我使用g ++构建一个库,然后在测试应用程序中使用该库。该库在Ubuntu和Centos上均无错误构建,并在Ubuntu上与应用程序链接;但是,在Centos上,g ++报告我库中每个函数的错误消息。版本是:

g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)

我知道库顺序很重要,因此我将库放置在测试应用程序源文件之后,但在所需的系统库之前:

g++ -o ./mylib_test src/mylib_test.o lib/mylib.a -lstdc++ -lcryptopp -llog4cxx -lapr-1 -laprutil-1 -lcurl -lm -lz

这是一个不链接的函数示例:

mylib_test.o: In function `main':
mylib_test.cpp:(.text+0x3118): undefined reference to `ReturnCodeToString(ReturnCode)'

同样,它将在Ubuntu上编译并运行而没有错误。

0 个答案:

没有答案