我使用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的构造函数的未定义引用。我知道有一个构造函数被弃用了,但我似乎使用了另一个不受欢迎的构造函数:wxGLCanvas(<frame>,wxID_ANY,NULL),就像http://docs.wxwidgets.org/3.0/classwx_g_l_canvas.html中看到的那样。
链接器错误的其余部分都是对wxGLCanvas的各种方法的未定义引用。为了安全起见,我向所有目标添加了-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,它似乎被标记为已弃用。是否有比我链接的文档更新的文档?
发布于 2016-09-25 07:00:49
wx-config --libs等同于wx-config --libs std,其中"std“代表默认使用的”标准“库的子集。如果你想使用任何不在这个列表中的库,比如"webview“、"richtext”或者"gl",你需要显式地列出它们。
因此,在您的示例中使用的正确命令是wx-config --libs std,gl。
https://stackoverflow.com/questions/39680838
复制相似问题