我一直在将Visual Studio 2012用于Qt / C ++项目。
我正在尝试迁移到MinGW,以便可以完全使用C ++ 11,而不是MSFT编译器提供的部分支持。使用CMake生成项目并进行得很好,编译了所有子项目和主项目本身。
但是,链接给了我一些错误,我不确定如何解决它们:
链接CXX可执行文件Owl.exe CMakeFiles \ Owl.dir / objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp :(。text + 0x1e):对
__imp__ZN9QTreeViewC2EP7QWidget' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x7b): undefined reference to
_ imp _ZN9QTreeViewD2Ev的未定义引用CMakeFiles \ Owl.dir / objects.a (BoardTreeView.cpp.obj):BoardTreeView.cpp :(。text + 0x116):对__imp__ZNK17QAbstractItemView5modelEv' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x1a1): undefined reference to
_ imp _ZNK18QStandardItemModel9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEEi'的未定义引用CMakeFiles \ Owl.dir / objects.a(BoardTreeView.cpp。 + 0x303):对__imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x350): undefined reference to
_ imp的未定义引用_ZeqRK7QStringS1_'CMakeFiles \ Owl.dir / objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp :(。text + 0x53e):对__imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x649): undefined reference to
_ imp的未定义引用_ZNK9QTreeView10indexBelowERK11QModelIndex'CMakeFiles \ Owl.dir / objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp :(。text + 0x669):未定义对__imp__ZNK17QAbstractItemView5modelEv' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x6b1): undefined reference to
_ imp _ZN17QAbstractItemView15setCurrentIndexERK11ppModel。' .obj):BoardTreeView.cpp :(。text + 0x6c1):对__imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x6d6): undefined reference to
_ imp _ZN8QVariantD1Ev'的未定义引用c:/progra~1/mingw-~1/x64-48~1.1-p/mingw64/bin /../ lib /gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/bin/ld.exe:CMakeFiles \ Owl.dir / objects.a(BoardTreeView.cpp .obj):“。text $ _ZNSt9exceptionC2Ev [_ZNSt9exceptionC2Ev]”部分中错误的重定位地址0xf:错误:ld返回了1个退出状态Deltas \ CMakeFiles \ Owl.dir \ build.make:1217:目标'Deltas / Owl.exe的mingw32-make [2]失败:* [Deltas / Owl.exe]错误1 CMakeFiles \ Makefile2:435:目标'Deltas / CMakeFiles / Owl.dir / all'的配方失败mingw32-make [1]: [Deltas / CMakeFiles / Owl.dir / all]错误2 Makefile:115:目标“全部”的配方失败mingw32-make:* * [all]错误2
使用Visual Studio(以及Xcode,FWIW)可以很好地编译和链接项目,因此我不确定缺少的链接器。
有人可以提供任何建议吗?
您需要下载用于MinGW的Qt(如果您使用的MinGW版本与构建Qt的版本不同,则可以自己构建Qt。)Qt的VS版本不能与MinGW一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句