wxWidgets 问题 - libwx_gtk3u_gl-3.1.a: 没有那个文件或目录

wxWidgets problem - libwx_gtk3u_gl-3.1.a: no such file or directory

我正在尝试编译一个使用 wxWidgets 的程序。当我运行"make"时,返回给我:

Building target using GCC compiler: sources/geometry-manager.cpp
g++ -g -c sources/geometry-manager.cpp -std=c++17 -w -c -rdynamic -W `wx-config --cxxflags --libs --gl-libs` `geos-config --cflags` -lgeos -lglut -lGLU -lGL -lm -lGLEW  -o builded/geometry-manager.o `pkg-config --libs geographiclib`
g++: error: /usr/local/lib/libwx_gtk3u_gl-3.1.a: No such file or directory
make: *** [Makefile:37: builded/geometry-manager.o] Erro 1

我正在使用 Ubuntu 20.04(Linux 5.8.0-55-generic)。

wx-config --version-full returns 3.1.5.0

wx-config --selected-config returns gtk3-unicode-static-3.1

libgtk-3-dev 已安装

程序是在其他电脑上编译的。我相信我安装了一些 dependency.incorrectly

文件 libwx_gtk3u_gl-3.1.a 在我的文件系统中不存在。但是我找不到下载文件。

非常感谢

wx-config --cxxflags --libs std,gl returns:

-I/usr/local/lib/wx/include/gtk3-unicode-static-3.1 -I/usr/local/include/wx-3.1 -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -pthread
-L/usr/local/lib -pthread   /usr/local/lib/libwx_gtk3u_gl-3.1.a /usr/local/lib/libwx_gtk3u_xrc-3.1.a /usr/local/lib/libwx_gtk3u_qa-3.1.a /usr/local/lib/libwx_baseu_net-3.1.a /usr/local/lib/libwx_gtk3u_html-3.1.a /usr/local/lib/libwx_gtk3u_core-3.1.a /usr/local/lib/libwx_baseu_xml-3.1.a /usr/local/lib/libwx_baseu-3.1.a -lgthread-2.0 -pthread -lX11 -lSM -lgtk-3 -lgdk-3 -lpangocairo-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lXtst -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype -lwxtiff-3.1 -lwxjpeg-3.1 -lwxregexu-3.1 -lwxscintilla-3.1 -lexpat -lpng -lz -ldl -lm

libwxgtk3.0-gtk3-dev已经是最新版本(3.0.4+dfsg-15build1).

成功:我重新安装了wxWidgets。现在 openGL 在安装时被识别并且它工作了。

你一定是自己构建了wxWidgets,但是在配置的时候,configure没有找到需要的OpenGLheaders/libraries,所以OpenGL支持被禁用了,你可以通过查看config.log文件来确认它创造了。您还将在同一个文件中找到失败原因的详细信息,但您可能只需要 apt install libgl1-mesa-dev libglu1-mesa-dev(以及重新运行 配置和 make && make install,当然,实际构建和安装 wx 的 OpenGL 部分)。

您可能还想使用 --with-opengl 选项显式 运行 配置,因为在这种情况下,如果 OpenGL 库不可用,您将收到错误,而不是默认收到的警告.