g++;:在Ubuntu发行版升级后,我的所有代码都不会链接 我正在使用Eclipse CDT,用于大规模的C++项目,它已经编译了2年了。大约两周前,我开始出现一些奇怪的错误,毫无意义,似乎gtk已经被破坏了。所以,由于发行版的升级时间差不多了,我决定从11.04升级到12.04。现在,没有任何联系。我拥有的每个依赖项在链接时都会抛出一个未定义的引用错误。一切都编译得很好,所有pkg config命令都返回了它们应该返回的内容

g++;:在Ubuntu发行版升级后,我的所有代码都不会链接 我正在使用Eclipse CDT,用于大规模的C++项目,它已经编译了2年了。大约两周前,我开始出现一些奇怪的错误,毫无意义,似乎gtk已经被破坏了。所以,由于发行版的升级时间差不多了,我决定从11.04升级到12.04。现在,没有任何联系。我拥有的每个依赖项在链接时都会抛出一个未定义的引用错误。一切都编译得很好,所有pkg config命令都返回了它们应该返回的内容,c++,ubuntu,g++,debian,ld,C++,Ubuntu,G++,Debian,Ld,有什么想法吗 命令如下: Invoking: GCC C++ Linker g++ `pkg-config libv4l2 --libs` `pkg-config --libs alsa` -lmysqlcppconn -lboost_regex `pkg-config sigc++-2.0 --libs` `pkg-config gstreamer-0.10 --libs` `pkg-config gstreamer-app-0.10 --libs` `pkg-config gstream

有什么想法吗

命令如下:

  Invoking: GCC C++ Linker g++ `pkg-config libv4l2 --libs` `pkg-config --libs alsa` -lmysqlcppconn -lboost_regex `pkg-config sigc++-2.0 --libs` `pkg-config gstreamer-0.10 --libs` `pkg-config gstreamer-app-0.10 --libs` `pkg-config gstreamer-interfaces-0.10 --libs` `pkg-config gstreamer-rtp-0.10 --libs` `pkg-config glib-2.0 --libs` `pkg-config gtk+-2.0 --libs` -lX11 -ldl -lXext  `pkg-config gdkmm-2.4 --libs` `pkg-config glib-2.0 --libs` `pkg-config gtkmm-2.4 --libs` `pkg-config ptlib --libs` `pkg-config opal --libs` -fexceptions -o"HHPVideoServer"  ./HHPVideoCodec.o ./engine.o  ./opal/GstEndPoint.o ./opal/Linux_GstEndPoint.o ./opal/opal-call-manager.o  ./logging/log.o  ./gui/HHPVideoCodecGui.o ./gui/misc.o  ./framework/services.o  ./StreamEngine/GSTMediaStream.o ./StreamEngine/HHPStreamingEndPoint.o ./StreamEngine/HHPStreamingProtocol.o ./StreamEngine/Linux_GstMediaStream.o  ./SDKEngine/AudioSettings.o ./SDKEngine/CallSettings.o ./SDKEngine/ClientSocket.o ./SDKEngine/Communications.o ./SDKEngine/DeviceInfo.o ./SDKEngine/FileActions.o ./SDKEngine/MediaCodecs.o ./SDKEngine/NetworkSettings.o ./SDKEngine/OSDSettings.o ./SDKEngine/SDKEngine.o ./SDKEngine/SDKEngineCore.o ./SDKEngine/SIPAccount.o ./SDKEngine/ServerSocket.o ./SDKEngine/SessionScheduleDisplay.o ./SDKEngine/Socket.o ./SDKEngine/VideoInput.o  ./DigitalIO/DigitalIOCore.o ./DigitalIO/DigitalInputEngine.o   
./HHPVideoCodec.o: In function `HHPVideoCodec':
/home/jonathan/workspace/HHPVideoServer/Debug/../HHPVideoCodec.cc:9: undefined reference to `PProcess::PProcess(char const*, char const*, unsigned short, unsigned short, PProcess::CodeStatus, unsigned short, bool)'
/home/jonathan/workspace/HHPVideoServer/Debug/../HHPVideoCodec.cc:9: undefined reference to `PTimedMutex::PTimedMutex()'
/home/jonathan/workspace/HHPVideoServer/Debug/../HHPVideoCodec.cc:9: undefined reference to `PTimedMutex::PTimedMutex()'
/home/jonathan/workspace/HHPVideoServer/Debug/../HHPVideoCodec.cc:9: undefined reference to `PTimedMutex::~PTimedMutex()'
/home/jonathan/workspace/HHPVideoServer/Debug/../HHPVideoCodec.cc:9: undefined reference to `PProcess::~PProcess()'....

它持续数千行,每个库都有一个未定义的引用。

库(作为pkg config的输出)应该列在.o文件之后。链接器的参数顺序很重要

库(作为pkg config的输出)应列在.o文件之后。链接器的参数顺序很重要

您能在不使用Eclipse的情况下从命令行编译和链接吗?一个简单的“你好,世界”节目怎么样?向我们展示一个简单的示例和准确的错误消息。请复制准确的错误消息并将其粘贴到您的问题中。我们需要知道未定义的符号是什么。(另外,你可以尝试在网上搜索这个符号名称——其他人可能也有同样的问题)。@KeithThompson不,它在命令行中也不起作用。(Eclipse无论如何都在使用make文件)。另外,一个简单的程序编译并链接良好。@user9876我添加了linker命令。从glib到gstreamerCan,我尝试过的每个符号都是从命令行编译和链接的,而不使用Eclipse?一个简单的“你好,世界”节目怎么样?向我们展示一个简单的示例和准确的错误消息。请复制准确的错误消息并将其粘贴到您的问题中。我们需要知道未定义的符号是什么。(另外,你可以尝试在网上搜索这个符号名称——其他人可能也有同样的问题)。@KeithThompson不,它在命令行中也不起作用。(Eclipse无论如何都在使用make文件)。另外,一个简单的程序编译并链接良好。@user9876我添加了linker命令。从glib到gstreamerOk,我尝试过的每一个符号都让我沦为一个糟糕的库。为什么它在我以前的发行版中都能工作,而现在却突然中断了呢?关于这个问题的更多信息和原因:好吧,这让我归结为一个糟糕的库。为什么它在我以前的发行版中都能正常工作,而现在却突然崩溃了?关于这个问题的更多信息和原因: