我正在尝试在Microsoft Visual Studio2010中构建一个与Qt库连接的项目(x64)。我要编译的项目是使用Visual Studio2008构建的。
我已经添加了所有的依赖项,下载并编译了64位的Qt库,并在VS2010中对项目属性进行了所有适当的更改。尽管如此,我得到了以下错误:
Error 2616 error LNK1112: module machine type 'X86' conflicts with
target machine type 'x64' D:\project\Windows\QtOpenGL4.lib(QtOpenGL4.dll)我已经检查了我的.dll和.lib文件,它们都是x64位版本。另外,我的QtOpenGL4.dll文件位于错误中提到的另一个路径中。
会不会是QtOpenGL4模块的错误?我该怎么解决这个问题呢?你能帮帮我吗?
为了构建64位版本的Qt,我遵循了以下说明:https://en.wikibooks.org/wiki/Opticks_Developer_Guide/Getting_Started/Building_Qt_From_Source
发布于 2016-12-16 16:52:45
最后,我在我的错误中找到了解决方案。我再次编译了64位的Qt库,并在项目属性中输入了所有正确的值。我还输入了正确的路径
项目属性->链接器->Input ->Additional依赖项。
有了正确的路径,它为我解决了链接错误。
我不得不提一下,我还从这个链接How to compile Qt for 64-bit Windows from a 32-bit environment with Visual C++ 2010 Express?的答案中下载了预编译库
发布于 2016-12-14 19:24:07
您可能正在尝试将您的64位项目与32位Qt库相链接。
This提供了更多关于您所面临的错误的信息。
类似地,如果使用x64编译器创建一个模块,并使用x86编译器创建另一个模块,并尝试将它们链接起来,则链接器将生成LNK1112。
检查您是否正在使用64位预编译的Qt库。
https://stackoverflow.com/questions/41139688
复制相似问题