CMake不支持工具集规范

b1zrtrql  于 2023-08-05  发布在  其他
关注(0)|答案(3)|浏览(165)

我试图构建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

a0x5cqrl

a0x5cqrl1#

这意味着在某个地方的CMake文件变量CMAKE_GENERATOR_TOOLSET被设置为host=x64。这只对Visual Studio生成器有意义,因此CMake选择在这种情况下抛出错误。
要修复它,请仔细检查您的操作系统和发电机的设置。如果这没有帮助,那么你需要找到这个变量的设置位置,并删除这一行。

ulydmbyx

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希望它也能为你工作。

afdcj2ne

afdcj2ne3#

我也有同样的问题,我认为两件事的结合解决了问题。(a)我选择了一个不同的构建目录和(b)这个命令
第一个月

相关问题