1

我正在尝试在 Microsoft Visual Studio 2010 中构建与 Qt 库连接的项目 (x64)。我要编译的项目是使用 Visual Studio 2008 构建的。

我添加了所有依赖项,下载了编译的 64 位 Qt 库,并在 VS 2010 中对项目属性进行了所有适当的更改。虽然,我收到以下错误:

 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

4

2 回答 2

1

最后我在我的错误中找到了解决方案。我再次编译了 64 位的 Qt 库,并在项目属性中输入了所有正确的值。我也进入了正确的路径

项目属性 -> 链接器 -> 输入 -> 其他依赖项。

通过正确的路径,它为我解决了链接错误。

我不得不提一下,我还从这个链接的答案中下载了预编译库 How to compile Qt for 64-bit Windows from a 32-bit environment with Visual C++ 2010 Express?

于 2016-12-16T08:52:44.657 回答
0

您可能正在尝试将 64 位项目与 32 位 Qt 库链接。

更多地说明了您面临的错误。

同样,如果您使用 x64 编译器创建一个模块,并使用 x86 编译器创建另一个模块,并尝试链接它们,链接器将生成 LNK1112。

检查您是否使用 64 位预编译的 Qt 库。

于 2016-12-14T11:24:06.733 回答