对 wxGLCanvas 构造函数的未定义引用?
Undefined reference to wxGLCanvas' constructor?
我使用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,它似乎被标记为deprecated。还有比我链接的那些更近期的文件吗?
wx-config --libs
相当于wx-config --libs std
,其中"std"代表默认使用的"标准"库的子集。如果你想使用列表中没有的库,如"webview","richtext"或"gl",你需要显式列出它们。
所以在你的情况下正确使用的命令是wx-config --libs std,gl
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中