繁体   English   中英

使用MinGW的Windows上的Qt5项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM