如何从 CodeLite 中的 G++ 链接器命令中删除库?找不到他们

How to remove libraries from the G++ Linker command in CodeLite? Can't find them

提问人:Astar Wstar 提问时间:3/2/2023 更新时间:3/2/2023 访问量:65

问:

我正在尝试编译我的 wxWidgets 应用程序,但它不允许我,因为它找不到这些库。我搜索了这些库,但它们确实不在我的计算机上,那么我怎样才能从链接器中删除它们呢?在任何地方都看不到活动项目设置中的库,也不确定在哪里指定了这些库(我查看了“链接器”设置,然后是一些)。有点烦人

/usr/bin/make -j2 -e -f  Makefile
----------Building project:[ LearnFrench - Debug ]----------
make[1]: Entering directory '/home/oem/Documents/CodeliteProjects/LearnFrench'
/usr/bin/g++ -o ../../Documents/build-Debug/bin/LearnFrench @../../Documents/build-Debug/__/CodeliteProjects/LearnFrench/ObjectsList.txt -L/usr/lib/codelite -L/usr/local/lib/  -l wx_gtk3u_stc-3.2.so.0 -l wx_gtk3u_html-3.2 -l wx_gtk3u_aui-3.2.so.0 -l wx_gtk3u_adv-3.2 -l wx_gtk3u_stc-3.2.so.0.2.1 -l wx_gtk3u_propgrid-3.2.so.0.2.1 -l wx_gtk3u_gl-3.2 -l wx_gtk3u_html-3.2.so.0 -l wx_gtk3u_adv-3.2.so.0 -l wx_gtk3u_aui-3.2.so.0.2.1 -l wx_gtk3u_core-3.2.so.0.2.1 -l wx_gtk3u_gl-3.2.so.0 -l wx_baseu_net-3.2.so.0 -l wx_gtk3u_xrc-3.2.so.0 -l wx_gtk3u_ribbon-3.2 -l wx_gtk3u_richtext-3.2.so.0.2.1 -l wx_gtk3u_core-3.2 -l wx_gtk3u_core-3.2.so.0 -l wx_gtk3u_propgrid-3.2 -l wx_gtk3u_qa-3.2 -l wx_gtk3u_qa-3.2.so.0 -l wx_gtk3u_qa-3.2.so.0.2.1 -l wx_gtk3u_xrc-3.2 -l wx_gtk3u_propgrid-3.2.so.0 -l wx_baseu-3.2.so.0.2.1 -l wx_gtk3u_gl-3.2.so.0.2.1 -l wx_gtk3u_richtext-3.2 -l wx_gtk3u_adv-3.2.so.0.2.1 -l wx_baseu_xml-3.2.so.0.2.1 -l wx_gtk3u_xrc-3.2.so.0.2.1 -l wx_baseu_xml-3.2 -l wx_baseu-3.2.so.0 -l wx_gtk3u_ribbon-3.2.so.0.2.1 -l wx_baseu_net-3.2 -l wx_gtk3u_html-3.2.so.0.2.1 -l wx_baseu-3.2 -l wx_gtk3u_aui-3.2 -l wx_baseu_net-3.2.so.0.2.1 -l wx_gtk3u_richtext-3.2.so.0 -l wx_gtk3u_stc-3.2 -l wx_baseu_xml-3.2.so.0 -l wx_gtk3u_ribbon-3.2.so.0
/usr/bin/ld: cannot find -lwx_gtk3u_stc-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_aui-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_stc-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_propgrid-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_html-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_adv-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_aui-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_core-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_gl-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_baseu_net-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_xrc-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_richtext-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_core-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_qa-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_qa-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_propgrid-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_baseu-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_gl-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_adv-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_baseu_xml-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_xrc-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_baseu-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_ribbon-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_html-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_baseu_net-3.2.so.0.2.1: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_richtext-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_baseu_xml-3.2.so.0: No such file or directory
/usr/bin/ld: cannot find -lwx_gtk3u_ribbon-3.2.so.0: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [LearnFrench.mk:82: ../../Documents/build-Debug/bin/LearnFrench] Error 1
make[1]: Leaving directory '/home/oem/Documents/CodeliteProjects/LearnFrench'
make: *** [Makefile:5: All] Error 2
=== build completed successfully (0 errors, 0 warnings) ===

我希望在项目设置中找到库,但在任何地方都找不到它们。

Linux 链接器 g++ wxwidgets codelite

评论

0赞 VZ. 3/2/2023
您与库链接似乎很奇怪。这些库名称从何而来?您应该使用输出。so.0so.0.2.1wx-config --libs

答:

0赞 Astar Wstar 3/2/2023 #1

认为当我从源代码重新编译和安装它们时,库名称必须在最新的源代码中重命名,从 something.so 到 libsomething.so。

因此,我在 lib 文件夹中创建了真正的库和它找不到的库之间的软链接,因为它们不存在(使用它们的原始名称),并且它起作用了。终端线如下所示:

    sudo ln -s libwx_baseu-3.2.so.0.2.1 wx_baseu-3.2.so.0.2.1

    sudo ln -s libwx_baseu-3.2.so.0.2.1 wx_baseu-3.2.so.0

    sudo ln -s libwx_baseu-3.2.so.0.2.1 wx_baseu-3.2

现在我的代码正在像往常一样编译和运行。

评论

0赞 VZ. 3/2/2023
这绝对是错误的,你绝对不应该在没有前缀的情况下使用。你只是隐藏了真正的问题,以后会遇到麻烦。lib