非常奇怪的链接库的问题?希望高手不吝解答下

D:\QNX650\host\win32\x86\usr\bin\make.exe -k CPULIST=x86 all --file=C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/QMakefile129462056592135005.tmp
D:/QNX650/host/win32/x86/usr/bin/make.exe -j 1 -Cx86 -fMakefile all
make.exe[1]: Entering directory D:/ide-4.7-workspace/Context_Paint/x86' D:/QNX650/host/win32/x86/usr/bin/make.exe -j 1 -Co -fMakefile all make.exe[2]: Entering directory D:/ide-4.7-workspace/Context_Paint/x86/o’
D:/QNX650/host/win32/x86/usr/bin/rm -f D:/ide-4.7-workspace/Context_Paint/x86/o/Context_Paint
D:/QNX650/host/win32/x86/usr/bin/qcc -Vgcc_ntox86 -lang-c++ -lang-c++ -oD:/ide-4.7-workspace/Context_Paint/x86/o/Context_Paint Context_Paint.o -L . -L D:/ide-4.7-workspace/Context_Paint/Autonavi -L D:/QNX650/target/qnx6/x86/lib -L D:/QNX650/target/qnx6/x86/usr/lib -Wl,–rpath-link . -Wl,–rpath-link D:/ide-4.7-workspace/Context_Paint/Autonavi -Wl,–rpath-link D:/QNX650/target/qnx6/x86/lib -Wl,–rpath-link D:/QNX650/target/qnx6/x86/usr/lib -lph -lNaviEngine50
D:/ide-4.7-workspace/Context_Paint/Autonavi/libNaviEngine50.so: undefined reference to sqrt' D:/ide-4.7-workspace/Context_Paint/Autonavi/libNaviEngine50.so: undefined reference to tan’
D:/ide-4.7-workspace/Context_Paint/Autonavi/libNaviEngine50.so: undefined reference to atan' D:/ide-4.7-workspace/Context_Paint/Autonavi/libNaviEngine50.so: undefined reference to _Sin’
D:/ide-4.7-workspace/Context_Paint/Autonavi/libNaviEngine50.so: undefined reference to acos' D:/ide-4.7-workspace/Context_Paint/Autonavi/libNaviEngine50.so: undefined reference to _Log’
cc: D:/QNX650/host/win32/x86/usr/bin/ntox86-ld caught signal 1
make.exe[2]: *** [D:/ide-4.7-workspace/Context_Paint/x86/o/Context_Paint] Error 1
make.exe[2]: Target all' not remade because of errors. make.exe[2]: Leaving directory D:/ide-4.7-workspace/Context_Paint/x86/o’
make.exe[1]: [all] Error 2 (ignored)


这个是否是链接库的问题呢? 我是以添加系统库一样的方法添加这个库的
就是在Linker->Extra Library 里添加 :slight_smile:
Extra Library Path 正确设定 头文件也有正确包含

本人初步估计 有可能链接库有问题 但是为什么库又能正确编译通过呢?
难道这个库还额外链接了其他的库? 如果有我猜测可能链接了数学的函数库
看上面的出错点 很像是三角函数 QNX有没相关的数学函数库呢?

数学函数库是 libm.so,需要额外在Makefile里说明。

你可以用加 EXTRA LIB的同样的方法,在NaviEngine50后面加"m"

呵呵 果然可以
谢谢xtang先生的及时准确回答 :slight_smile:

xtang 先生
我的编译已经通过
但是为什么运行时 会出现

ldd:FATAL: Could not load library libNaviEngine50.so

花了点时间在过往的 问题里

找到了xtang的回答
http://www.openqnx.com/chinese/viewtopic.php?t=1515&highlight=Load+library


原来运行时 也有添加相应库