首页 > 解决方案 > 错误:未知的 CMake 命令“add_llvm_loadable_module”

问题描述

我成功构建了 LLVM (v9.0.1) 但是,当我尝试使用它配置(通过 cmake)应用程序时:

cmake .. -DCMAKE_INSTALL_PREFIX=/home/ubuntu/APP -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DLLVM_TARGETS_TO_BUILD=X86

我收到错误:

示例/analyzer-plugin/CMakeLists.txt:2 (add_llvm_loadable_module) 处的 CMake 错误:未知的 CMake 命令“add_llvm_loadable_module”。

完整的错误日志如下:

执行 C SOURCE FILE 测试 C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW 失败,输出如下: Change Dir: /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_5d0e0/fast && /usr/bin/make -f CMakeFiles/cmTC_5d0e0.dir/build.make CMakeFiles/cmTC_5d0e0.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 C 对象 CMakeFiles/cmTC_5d0e0.dir/src.co /usr/bin/gcc -fPIC -Werror=date-time -DC_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW -Werror -Werror=unguarded -availability-new -o CMakeFiles/cmTC_5d0e0.dir/src.co -c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/src.c cc1:错误:-Werror=unguarded-availability-new:没有选项 -Wunguarded-availability-new CMakeFiles/cmTC_5d0e0.dir/build.make:65:目标“CMakeFiles/cmTC_5d0e0.dir/src.co”的配方失败 make[1]: * [CMakeFiles/cmTC_5d0e0.dir/src.co] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_5d0e0/fast ' 失败:* [cmTC_5d0e0/fast] 错误 2

源文件是: int main(void) { return 0; 执行 C++ 源文件测试 CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW 失败,输出如下:更改目录:/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_5cfc9/fast && /usr/bin/make -f CMakeFiles/cmTC_5cfc9.dir/build.make CMakeFiles/cmTC_5cfc9.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 CXX 对象 CMakeFiles/cmTC_5cfc9.dir/src.cxx.o /usr/bin/g++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -DCXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW -Werror -Werror=unguarded-availability-new -o CMakeFiles/cmTC_5cfc9.dir/src.cxx.o -c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/src.cxx cc1plus:错误:-Werror=unguarded-availability-new:没有选项-Wunguarded-availability-new CMakeFiles/cmTC_5cfc9.dir/build.make:65:目标'CMakeFiles/cmTC_5cfc9.dir/src.cxx.o'的配方失败了[1 ]:* [CMakeFiles/cmTC_5cfc9.dir/src.cxx.o] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_5cfc9 /fast' 制作失败:* [cmTC_5cfc9/fast] 错误 2

源文件是: int main() { return 0; 执行 C SOURCE FILE 测试 C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG 失败,输出如下: Change Dir: /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_6b715/fast && /usr/bin/make -f CMakeFiles/cmTC_6b715.dir/build.make CMakeFiles/cmTC_6b715.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 C 对象 CMakeFiles/cmTC_6b715.dir/src.co /usr/bin/gcc -fPIC -Werror=date-time -Wall -Wextra -Wno-unused -参数 -Wwrite-strings -Wno-missing-field-initializers -Wimplicit-fallthrough -DC_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG -Werror -Wcovered-switch-default -o CMakeFiles/cmTC_6b715.dir/src.co -c /home/ubuntu/FLANG/flang- driver/build/CMakeFiles/CMakeTmp/src.c gcc:错误:无法识别的命令行选项'-Wcovered-switch-default';你的意思是'-Wno-switch-default'吗?CMakeFiles/cmTC_6b715.dir/build.make:65:目标'CMakeFiles/cmTC_6b715 的配方。* [CMakeFiles/cmTC_6b715.dir/src.co] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_6b715/fast ' 失败:* [cmTC_6b715/fast] 错误 2

源文件是: int main(void) { return 0; 执行 C++ 源文件测试 CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG 失败,输出如下:更改目录:/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_e80a6/fast && /usr/bin/make -f CMakeFiles/cmTC_e80a6.dir/build.make CMakeFiles/cmTC_e80a6.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 CXX 对象 CMakeFiles/cmTC_e80a6.dir/src.cxx.o /usr/bin/g++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -DCXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG -Werror -Wcovered-switch-default -o CMakeFiles /cmTC_e80a6.dir/src.cxx.o -c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/src.cxx g++:错误:无法识别的命令行选项'-Wcovered-switch-default';你的意思是'-Wno-switch-default'吗?CMakeFiles/cmTC_e80a6.dir/build.* [CMakeFiles/cmTC_e80a6.dir/src.cxx.o] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_e80a6 /fast' 制作失败:* [cmTC_e80a6/fast] 错误 2

源文件是: int main() { return 0; 执行 C++ 源文件测试 CXX_SUPPORTS_CLASS_MEMACCESS_FLAG 失败,输出如下:更改目录:/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_16b91/fast && /usr/bin/make -f CMakeFiles/cmTC_16b91.dir/build.make CMakeFiles/cmTC_16b91.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 CXX 对象 CMakeFiles/cmTC_16b91.dir/src.cxx.o /usr/bin/g++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -DCXX_SUPPORTS_CLASS_MEMACCESS_FLAG -Wclass-memaccess -o CMakeFiles/cmTC_16b91.dir /src.cxx.o -c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/src.cxx g++:错误:无法识别的命令行选项'-Wclass-memaccess' CMakeFiles/cmTC_16b91.dir/build。 make:65: 目标“CMakeFiles/cmTC_16b91.dir/src.cxx.o”的配方制造失败[1]:* [CMakeFiles/cmTC_16b91.dir/src.cxx.o] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_16b91 /fast' 制作失败:* [cmTC_16b91/fast] 错误 2

源文件是: int main() { return 0; 执行 C SOURCE FILE 测试 C_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG 失败,输出如下: Change Dir: /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_9c30d/fast && /usr/bin/make -f CMakeFiles/cmTC_9c30d.dir/build.make CMakeFiles/cmTC_9c30d.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 C 对象 CMakeFiles/cmTC_9c30d.dir/src.co /usr/bin/gcc -fPIC -Werror=date-time -Wall -Wextra -Wno-unused -参数 -Wwrite-strings -Wno-missing-field-initializers -Wimplicit-fallthrough -DC_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG -Werror -Wdelete-non-virtual-dtor -o CMakeFiles/cmTC_9c30d.dir/src.co -c /home/ubuntu/FLANG/ flang-driver/build/CMakeFiles/CMakeTmp/src.c cc1:错误:命令行选项“-Wdelete-non-virtual-dtor”对 C++/ObjC++ 有效,但对 C [-Werror] cc1 无效:正在处理所有警告作为错误 CMakeFiles/cmTC_9c30d.dir/build.make:65:目标“CMakeFiles/cmTC_9c30d.dir/src.co”的配方失败了 [1]:* [CMakeFiles/cmTC_9c30d.dir/src.co] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_9c30d/fast ' 制作失败:* [cmTC_9c30d/fast] 错误 2

源文件是: int main(void) { return 0; 执行 C SOURCE FILE 测试 C_WCOMMENT_ALLOWS_LINE_WRAP 失败,输出如下: Change Dir: /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_1d19d/fast && /usr/bin/make -f CMakeFiles/cmTC_1d19d.dir/build.make CMakeFiles/cmTC_1d19d.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 C 对象 CMakeFiles/cmTC_1d19d.dir/src.co /usr/bin/gcc -fPIC -Werror=date-time -Wall -Wextra -Wno-unused -参数 -Wwrite-strings -Wno-missing-field-initializers -Wimplicit-fallthrough -DC_WCOMMENT_ALLOWS_LINE_WRAP -Werror -Wcomment -o CMakeFiles/cmTC_1d19d.dir/src.co -c /home/ubuntu/FLANG/flang-driver/build/ CMakeFiles/CMakeTmp/src.c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/src.c:1:1: 错误:多行注释 [-Werror=comment] // \ ^ cc1:所有警告都被视为错误 CMakeFiles/cmTC_1d19d.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_1d19d.dir/src.co' 失败的 make[1]: * [CMakeFiles/cmTC_1d19d.dir/src.co] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_1d19d/fast ' 制作失败:* [cmTC_1d19d/fast] 错误 2

源文件是: // \ // int main() {return 0;} 执行 C 源文件测试 C_SUPPORTS_STRING_CONVERSION_FLAG 失败,输出如下: Change Dir: /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_04657/fast && /usr/bin/make -f CMakeFiles/cmTC_04657.dir/build.make CMakeFiles/cmTC_04657.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 C 对象 CMakeFiles/cmTC_04657.dir/src.co /usr/bin/gcc -fPIC -Werror=date-time -Wall -Wextra -Wno-unused -参数 -Wwrite-strings -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-comment -DC_SUPPORTS_STRING_CONVERSION_FLAG -Werror -Wstring-conversion -o CMakeFiles/cmTC_04657.dir/src.co -c /home/ubuntu/FLANG/ flang-driver/build/CMakeFiles/CMakeTmp/src.c gcc:错误:无法识别的命令行选项'-Wstring-conversion';你的意思是“-Wint-conversion”吗?CMakeFiles/cmTC_04657.dir/build.make:65:目标“CMakeFiles/cmTC_04657.dir/src.c”的配方。 * [CMakeFiles/cmTC_04657.dir/src.co] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_04657/fast ' 失败:* [cmTC_04657/fast] 错误 2

源文件是: int main(void) { return 0; 执行 C++ 源文件测试 CXX_SUPPORTS_STRING_CONVERSION_FLAG 失败,输出如下:更改目录:/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_82bfe/fast && /usr/bin/make -f CMakeFiles/cmTC_82bfe.dir/build.make CMakeFiles/cmTC_82bfe.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 CXX 对象 CMakeFiles/cmTC_82bfe.dir/src.cxx.o /usr/bin/g++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-noexcept-type -Wdelete-non-virtual- dtor -Wno-comment -DCXX_SUPPORTS_STRING_CONVERSION_FLAG -Werror -Wstring-conversion -o CMakeFiles/cmTC_82bfe.dir/src.cxx.o -c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/src.cxx g++:错误:无法识别的命令行选项“-Wstring-conversion”;你的意思 ' -Wint 转换'?CMakeFiles/cmTC_82bfe.dir/build.make:65:目标“CMakeFiles/cmTC_82bfe.dir/src.cxx.o”的配方失败 make[1]:* [CMakeFiles/cmTC_82bfe.dir/src.cxx.o] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_82bfe /fast' 失败:* [cmTC_82bfe/fast] 错误 2

源文件是: int main() { return 0; 确定 os_signpost_interval_begin 是否存在失败,输出如下: Change Dir: /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

运行构建命令:/usr/bin/make cmTC_aa3b1/fast && /usr/bin/make -f CMakeFiles/cmTC_aa3b1.dir/build.make CMakeFiles/cmTC_aa3b1.dir/build make[1]: Entering directory '/ home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' 构建 C 对象 CMakeFiles/cmTC_aa3b1.dir/CheckSymbolExists.co /usr/bin/gcc
-fPIC -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-comment -ffunction-sections -fdata-sections -o CMakeFiles/ cmTC_aa3b1.dir/CheckSymbolExists.co -c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: 2:10: 致命错误: os/signpost.h: No such file or directory #include ^~~~~~~~~~~~~~~ 编译终止。CMakeFiles/cmTC_aa3b1.dir/build.make:65:目标“CMakeFiles/cmTC_aa3b1.dir/CheckSymbolExists.co”的配方失败 make[1]:* [CMakeFiles/cmTC_aa3b1.dir/CheckSymbolExists.co] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_aa3b1/fast ' 失败:* [cmTC_aa3b1/fast] 错误 2

文件 /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ include int main(int argc, char** argv) { (void)argv; ifndef os_signpost_interval_begin return ((int*)(&os_signpost_interval_begin))[argc]; #else (void)argc; 返回0;#endif } 执行 C++ 源文件测试 CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG 失败,输出如下: Change Dir: /home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp

cxx g++:错误:无法识别的命令行选项'-Wnested-anon-types';你的意思是“-Wnested-externs”吗?CMakeFiles/cmTC_d2682.dir/build.make:65:目标“CMakeFiles/cmTC_d2682.dir/src.cxx.o”的配方失败 make[1]:* [CMakeFiles/cmTC_d2682.dir/src.cxx.o] 错误 1 ​​make[1]: 离开目录 '/home/ubuntu/FLANG/flang-driver/build/CMakeFiles/CMakeTmp' Makefile:121: recipe for target 'cmTC_d2682 /fast' 制作失败:* [cmTC_d2682/fast] 错误 2

源文件是: int main() { return 0; }

谢谢。

标签: cmakellvm

解决方案


推荐阅读