cmake - 错误:未知的 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; }
谢谢。
解决方案
推荐阅读
- javascript - 以编程方式创建 HTMLElement 时,我可以在构造函数之前设置属性吗?
- asp.net-core - 如何访问 .net core 3 中其他项目的 wwwroot?
- xml - 在 XML 文件中查找和修剪字符串结尾
- r - 在 R 中使用“关系”数据框重命名列
- android - 如何使用 androidx.recyclerview.widget.RecyclerView 从 kotlin 的回收站视图中获取新活动?
- javascript - 用于动画的 React Native Layout 动画
- amazon-web-services - 此 AWS 控制台项目的 Terraform 资源是什么?
- console-application - 鼠标光标的位置(以帕斯卡为单位)
- google-chrome - web_accessible_resources 不起作用,请求导致“对服务器的请求已被扩展程序阻止。”
- android - 片段内的Android谷歌地图不显示地图