我正在尝试在Microsoft Visual Studio 2010中与QT库相连的项目(x64)。我想要编译的项目是使用Visual Studio 2008构建的。
我添加了所有依赖项,下载了QT库64位,并完成了VS 2010中项目属性的所有适当更改。尽管我在以下错误中获取错误:
Error 2616 error LNK1112: module machine type 'X86' conflicts with
target machine type 'x64' D:projectWindowsQtOpenGL4.lib(QtOpenGL4.dll)
我已经检查了我的.dll和.lib文件,它们是x64位版本。另外,我的qtopengl4.dll文件位于错误中提到的一个路径中。
可能是qtopengl4模块中的错误吗?我该如何解决?请你帮助我好吗?
我遵循的说明是为了构建64位版本的QT,在此链接中:https://en.wikibooks.org/wiki/wiki/opticks_developer_guide/getting_started/builded/building/building_qt_fom_source
最后,我在错误中找到了一个解决方案。我在64位中再次编译了QT库,并在项目属性中输入了所有适当的值。我还进入了
的正确路径项目属性 ->链接 ->输入 ->其他依赖项。
使用正确的路径,它为我解决了链接错误。
我不得不提到我还从此链接中的答案中下载了预编译的库如何使用Visual C 2010 Express从32位环境中为64位窗口编译QT?
您可能正在尝试将64位项目与32位QT库链接。
这更多地说明了您面临的错误。
同样,如果您使用x64编译器创建一个模块,另一个是带有X86编译器的模块,并尝试将它们链接起来,链接器将生成LNK1112。
检查您是否正在使用64位预编译QT库。