QtGui4.lib(QtGui4.dll):致命错误LNK1112:模块机器类型' X86'与目标机器类型的冲突' x64'

时间:2015-05-09 18:54:46

标签: c++ vtk

我正在使用msvc10复制vtk。我首先使用cmake然后打开ALL_BUILD来编译VTK。我收到这个错误:

QtGui4.lib(QtGui4.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

我终于得到了我:==========构建:118成功,6失败,0最新,0跳过==========

我找到了一些建议我应该使用win32或...的页面,但是,我没有链接器这样做。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

您尝试进行x64构建,而要链接的某些库是x32。有两种方法可以解决它:

α)您必须找到哪些库是32位(您可以从链接器错误中猜出来),并将这些库替换为x64,

β)您必须将构建类型更改为32位。要做到这一点,你必须在makefile中添加一个变量,如CFLAGS,CPPFLAGS,CXXFLAGS,LDFLAGS (你能找到的任何一个)将构建类型切换为32位的选项。即在GCC中它是-m32 - 不确定,它在MSVC中的样子。

对于最新的 - 不太可能发生一些你的libs只有x64。我怀疑这里只有x64库 - 带有编译器的库,这些库通常有x32替代品。虽然谁知道......