我试图构建Checked-C项目,它使用CMake,但当我去生成makefile CMake给出了以下错误。
~/checkedc/build$ cmake ../llvm
CMake Error at CMakeLists.txt:57 (project):
Generator
Unix Makefiles
does not support toolset specification, but toolset
host=x64
was specified.
-- Configuring incomplete, errors occurred!
字符串
我已经安装了CMake 3.9.1版沿着GNU Make 4.1、Clang 5和GCC 7。谁能告诉我这个CMake错误是什么意思?
CMakeLists.txt的这一部分看起来像这样:
57 project(LLVM
58 ${cmake_3_0_PROJ_VERSION}
59 ${cmake_3_0_LANGUAGES}
60 C CXX ASM)
型
我尝试设置C/CXX/ASM,但得到相同的错误:
~/checkedc/build$ cmake -DCMAKE_C_COMPILER="clang-5.0" -DCMAKE_CXX_COMPILER="clang-5.0" -DCMAKE_ASM_COMPILER="clang-5.0" ../llvm
CMake Error at CMakeLists.txt:57 (project):
Generator
Unix Makefiles
does not support toolset specification, but toolset
host=x64
was specified.
-- Configuring incomplete, errors occurred!
型
Kubuntu 17.10 64bit
编辑:
你可以在这里找到项目和CMakeList.txt:https://github.com/Microsoft/checkedc-clang
3条答案
按热度按时间a0x5cqrl1#
这意味着在某个地方的CMake文件变量
CMAKE_GENERATOR_TOOLSET
被设置为host=x64
。这只对Visual Studio生成器有意义,因此CMake选择在这种情况下抛出错误。要修复它,请仔细检查您的操作系统和发电机的设置。如果这没有帮助,那么你需要找到这个变量的设置位置,并删除这一行。
ulydmbyx2#
我也有同样的问题--我是如何解决我的问题的。事实上,我已经从windows复制了cmake的设置,然后移植到Linux。第一次运行时,它将在构建目录中创建一个名为:CMakeCache.txt.此文件保留了一些最初为Windows设置的变量。我删除了它和所有CMakeFiles目录,并重新运行cmake命令以生成项目。它工作得很好,但我必须将CMAKE_CXX_COMPILER和CMAKE_C_COMPILER变量设置为cmake命令:-DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc希望它也能为你工作。
afdcj2ne3#
我也有同样的问题,我认为两件事的结合解决了问题。(a)我选择了一个不同的构建目录和(b)这个命令
第一个月