在 Windows 64 中编译 QT - 未定义的引用
Compiling QT in windows 64 - undefined reference to
Ok.我刚刚从以下位置安装了Qt:http://qt.nokia.com/downloads 使用在线安装程序。我安装了MinGW,make,gcc和g ++。我还添加了变量QMAKESPEC
和QTDIR
,并将 MinGW 和 Qt 中的目录附加到PATH
变量中。当运行qmake并制作时,我得到了大量关于对QGraphicsScene
,QGraphicsView
等的未定义引用的错误。
以下是其中之一:
./debug/mox_roiwindow.o:moc_roiwindow.cpp:(.rdata$_ZTV9roiwindow[vtavle for roiwindow]+0x74): undefined reference to 'QGRaphcisScene::drawForeground(QPainter*, QRectF const&)'
生成文件中的 LIBS 部分是:
LIBS = -L'c:/QtSDK/Desktop/Qt/4.8.0/msvc2008/lib' -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
包含部分是:
INCPATH = -I'../../../../QtSDK/Desktop/Qt/4.8.0/msvc2008/include/QtCore' -I'../../../../QtSDK/Desktop/Qt/4.8.0/msvc2008/include/QtGui'
这似乎是正确的。我试图通过谷歌查找解决方案,但要么一无所获,要么解决方案似乎没有帮助。谢谢。
有些奇怪....您正在尝试链接mingw32
,同时您正在使用msvc2008
库路径。它们是独立且不兼容的编译器环境,因此,如果您尝试链接从两者编译的对象,则可能会出现此错误。你用的是什么编译器??您是否正在使用QtCreator?编译器必须与用于编译Qt库的编译器相同...
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 对 Scalar ::Scalar() 的未定义引用
- 对复制 CTOR 和 CTOR 的未定义引用
- 对显式实例化的模板函数的未定义引用
- TensorRT (C++ API) 对"createNvOnnxParser_INTERNAL"的未定义引用
- 2个模板化类的非模板友元函数未定义引用错误
- 编译 libfluid 样本控制器时对"event_base_del_virtual"的未定义引用
- 获取对function_name的未定义引用
- 对 'std::thread::_M_start_thread CMake 的未定义引用进行基准测试
- 对结构方法的未定义引用
- 使用内联函数 c++ 的未定义引用
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 对 DLOPEN 的未定义引用
- QT C++中对全局变量的未定义引用
- 快速数学导致对"__pow_finite"的未定义引用
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- OpenCV 3.4.3 中对 'cv::String::d eallocate()' 错误的未定义引用