c++ - 未定义对 wxGLCanvas 构造函数的引用?

标签 c++ wxwidgets deprecated undefined-reference

我用了wx-config --libs为我的应用程序生成链接器参数,输出如下:

-L/usr/lib/x86_64-linux-gnu -pthread -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_qa-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu_xml-3.0 -lwx_baseu_net-3.0 -lwx_baseu-3.0

我的应用程序编译但不链接,而是引用对 wxGLCanvas 构造函数的 undefined reference 。我知道一个构造函数已被弃用,但我似乎正在使用一个不是的构造函数:wxGLCanvas(<frame>,wxID_ANY,NULL)http://docs.wxwidgets.org/3.0/classwx_g_l_canvas.html 中所示.

其余的链接器错误都是对wxGLCanvas各种方法的 undefined reference 。为了安全起见,我添加了 -DwxUSE_GLCANVAS=1对所有目标,但这没有效果。我做错了什么?

如果相关,我还使用 wx-config --cflags编译期间:

-I/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread

另请注意,文档仍然建议使用 SetCurrent,它似乎已被标记为已弃用。是否有比我链接的文档更新的文档?

最佳答案

wx-config --libs 等同于 wx-config --libs std,其中“std”代表“标准”库的子集,被认为是默认使用。如果您想使用任何不在此列表中的库,例如“webview”、“richtext”或实际上是“gl”,您需要明确列出它们。

因此在您的情况下使用的正确命令是 wx-config --libs std,gl

关于c++ - 未定义对 wxGLCanvas 构造函数的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39680838/

相关文章:

wxwidgets - 获取 wxTextCtrl 点击事件的简单方法?

iphone - 如何获取 hidesAccessoryWhenEditing 的功能

javascript - `route.transitionTo` 是否已弃用?

c++ - 直接初始化条件内的对象

c++ - 没有数据成员的C++中的派生类问题

c++ - 简单的模板继承问题C++

c++ - Grid1->ClearGrid();和其他对 wxGrid crash app 的引用

c++ - wxWidgets 程序在框架关闭时崩溃

c++ - 隐藏的 Vim 标签文件

Python 3 没有文件功能