在构建时找不到ldl lnsl lpthread lrt?

时间:2016-08-14 21:45:11

标签: linux qnx data-distribution-service qcc

我正在尝试在i86 QNX架构中构建RTI perftest。当我尝试构建我生成的makefile时,我得到以下内容:

Checking directory obj/i86QNX6.6qcc_cpp4.7.3/Release
Checking directory ../bin/i86QNX6.6qcc_cpp4.7.3/Release
qcc -V4.7.3,gcc_ntox86 -Y_cpp -lang-c++ -m64 -Wall -o ../bin/i86QNX6.6qcc_cpp4.7.3/Release/perftest_cpp obj/i86QNX6.6qcc_cpp4.7.3/Release/test.o obj/i86QNX6.6qcc_cpp4.7.3/Release/testPlugin.o obj/i86QNX6.6qcc_cpp4.7.3/Release/testSupport.o obj/i86QNX6.6qcc_cpp4.7.3/Release/Property.o obj/i86QNX6.6qcc_cpp4.7.3/Release/RTIDDSImpl.o obj/i86QNX6.6qcc_cpp4.7.3/Release/perftest_cpp.o -L/opt/RTI/ndds.5.1.0/lib/i86QNX6.6qcc_cpp4.7.3 -lnddscppz -lnddscz -lnddscorez -lm -lsocket  -lpthread -lnsl -lrt -L/usr/lib/nptl
/opt/qnx/6.6.0/host/linux/x86/usr/bin/i486-pc-nto-qnx6.6.0-ld: cannot find -lpthread
/opt/qnx/6.6.0/host/linux/x86/usr/bin/i486-pc-nto-qnx6.6.0-ld: cannot find -lnsl
/opt/qnx/6.6.0/host/linux/x86/usr/bin/i486-pc-nto-qnx6.6.0-ld: cannot find -lrt
cc: /opt/qnx/6.6.0/host/linux/x86/usr/bin/i486-pc-nto-qnx6.6.0-ld error 1
make: *** [../bin/i86QNX6.6qcc_cpp4.7.3/Release/perftest_cpp] Error 1

我不熟悉QNX及其库,但是当我删除这些标志时,我会遇到大量错误。有关如何为QNX构建perftest或处理此错误的任何提示都会很棒,谢谢!

1 个答案:

答案 0 :(得分:0)

我的makefile具有以下构建行,该行解析所有符号并生成正在运行的可执行文件:

qcc -o ../bin/i86QNX6.6qcc_cpp4.7.3/Release/perftest_cpp 
  obj/i86QNX6.6qcc_cpp4.7.3/Release/test.o 
  obj/i86QNX6.6qcc_cpp4.7.3/Release/testPlugin.o 
  obj/i86QNX6.6qcc_cpp4.7.3/Release/testSupport.o 
  obj/i86QNX6.6qcc_cpp4.7.3/Release/RTIDDSImpl.o 
  obj/i86QNX6.6qcc_cpp4.7.3/Release/perftest_cpp.o
  -L/opt/RTI/rti_connext_dds-5.2.3/lib/i86QNX6.6qcc_cpp4.7.3
  -lnddscppz -lnddscz -lnddscorez -lm -lsocket
  -V4.7.3,gcc_ntox86 -Y_cpp -lang-c++ -Wall

请注意,它没有您提及的库。