我有一个项目,我用cmake生成并在visual studio 2010中运行。我将配置更改为x64,在visual studio中我的活动解决方案和目标机器(Properties-> Linker-> Advanced)是设置为x64。我仍然得到链接器LNK1112错误。这是我在cmakelist.txt设置的东西,如果是这样的命令是什么? -swetha
答案 0 :(得分:3)
这不是您想要在CMakeLists.txt
中设置的内容。基本上,CMake为不同的编译器提供了多个生成器。 (x86和x64编译器是Windows上的两个不同编译器。)生成构建文件时,需要传递正确的编译器以供CMake使用,或者如果使用GUI,则选择Win64。从命令行:
cmake -G "Visual Studio 14 Win64" path/to/your/CMakeLists.txt
或任何您想要的Visual Studio版本。您可以通过以下方式查看可用的生成器:
cmake --help
如果这没有解决您的问题,请在删除生成的构建文件后再次尝试。
如果仍然无法解决问题,那么您将链接到为x86构建的第三方依赖项。
答案 1 :(得分:0)
尝试删除解决方案中的所有* .obj文件,让编译器再次编译所有文件。此问题可能导致编译器尝试引用已编译为x64
的obj文件