C++;NetBeans链接外部源和.so文件 我在用NETBeS编写Linux的C++程序。我很难将其设置为使用外部源/共享对象。我有编译的外部软件包中的.so文件和它附带的源文件

C++;NetBeans链接外部源和.so文件 我在用NETBeS编写Linux的C++程序。我很难将其设置为使用外部源/共享对象。我有编译的外部软件包中的.so文件和它附带的源文件,c++,netbeans,linker,shared-libraries,C++,Netbeans,Linker,Shared Libraries,到目前为止,我已经: 为项目指定以包括所有源文件和头文件目录(在项目属性->构建->C++编译器下) 指定了与外部源代码对应的.so文件(在“项目属性->构建链接器”下) 当我试图声明在外部源中定义的对象时,NetBeans不会给我任何语法错误,甚至自动为我完成对象名。然而,当我构建程序时,我得到一个错误,说“未定义引用”该对象 我做错什么了吗 编辑: 在回答quamrana的问题时,这是控制台尝试构建时的输出行之一 g++ -o dist/Debug/GNU-Linux-x86/JAUS

到目前为止,我已经:

  • 为项目指定以包括所有源文件和头文件目录(在项目属性->构建->C++编译器下)
  • 指定了与外部源代码对应的.so文件(在“项目属性->构建链接器”下)
当我试图声明在外部源中定义的对象时,NetBeans不会给我任何语法错误,甚至自动为我完成对象名。然而,当我构建程序时,我得到一个错误,说“未定义引用”该对象

我做错什么了吗

编辑: 在回答quamrana的问题时,这是控制台尝试构建时的输出行之一

g++  -o dist/Debug/GNU-Linux-x86/JAUSTester build/Debug/GNU-Linux-x86/MainScreen.o build/Debug/GNU-Linux-x86/main.o build/Debug/GNU-Linux-x86/moc_MainScreen.o    -L/usr/lib -Wl,-rpath /usr/local/lib/active /usr/local/lib/active/libcxutils.so -Wl,-rpath /usr/local/lib/active/libjauscore.so -Wl,-rpath /usr/local/lib/active/libjausextras.so -Wl,-rpath /usr/local/lib/active/libjausmobility.so -Wl,-rpath /usr/local/lib/active/libtinyxml.so -lQtGui -lQtCore -lpthread

我要包含的.so文件是在/usr/local/lib/active/

中指定的文件。NetBeans是否可以检查链接时使用的命令行?谢谢您的回复。我添加了一行作为编辑。这就是你要找的吗?自动完成可以工作,因为项目正确地引用了头文件。我不确定链接器阶段,因为我不熟悉
-Wl,-rpath
选项。我希望,首先
-L/usr/local/lib/active
告诉链接器文件夹的相关信息,然后,
-lcxutils
等(即不带lib和.so)通知每个共享库。