[英]Qt5 Project on Windows with MinGW
我一直在使用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.obj):BoardTreeView.cpp :(。text + 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)的__imp__ZN8QVariantD1Ev' CMakeFiles\\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x350): undefined reference to
:BoardTreeView.cpp :(。text + 0x53e):undefined refe__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 _ZN17QAbstractItemView15setCurrentIndexERK11QModelIndex'CMakeFiles \\ Owl.dir / objects.a(BoardTreeView.cpp.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的__imp__ZN8QVariantD1Ev' CMakeFiles\\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x6d6): undefined reference to
:/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 $ _ZNSt9exc节中错误的reloc地址0xf eptionC2Ev [_ZNSt9exceptionC2Ev]'collect2.exe:错误: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:目标'all'失败的配方mingw32-make:* * [all]错误2
该项目使用Visual Studio(和Xcode,FWIW)进行编译和链接,所以我不确定链接器缺少什么。
有人可以提供任何建议吗?
你需要为MinGW下载Qt(或者你自己构建它,如果你使用的是不同版本的MinGW而不是Qt版本的版本。)Qt的VS版本不能与MinGW一起使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.