首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:无法处理编译,预期“”[clang-诊断-错误]中正好有一个编译器作业。

错误:无法处理编译,预期“”[clang-诊断-错误]中正好有一个编译器作业。
EN

Stack Overflow用户
提问于 2020-08-28 10:39:48
回答 1查看 4.7K关注 0票数 8

在我将它添加到我的CmakeLists.txt以启用clang-整齐检查之后,构建失败了,没有多少有用的信息:

代码语言:javascript
复制
if(ENABLE_CLANG_TIDY)
  find_program(CLANGTIDY clang-tidy)
  if(CLANGTIDY)
    set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
    set(CMAKE_CXX_CLANG_TIDY "${CLANGTIDY};-extra-arg=-Wno-unknown-warning-option;-header-filter=${CMAKE_SOURCE_DIR}/src/*;")
  else()
    message(SEND_ERROR "clang-tidy requested but executable not found")
  endif()
endif()

但是,当我调用cmake -DENABLE_CLANG_TIDY=ON .. && make时,构建过程以2%的速度停止,并对问题进行了最少的解释。下面是其中最有意义的部分:

代码语言:javascript
复制
make[2]: Leaving directory '/path/to/module/build'
make  -f src/CMakeFiles/module.dir/build.make src/CMakeFiles/module.dir/build
make[2]: Entering directory '/path/to/module/build'
[  2%] Building CXX object src/CMakeFiles/module.dir/api/base_controller.cpp.o
cd /path/to/module/build/src && ccache /usr/local/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;-extra-arg=-Wno-unknown-warning-option;-header-filter=/path/to/module/src/*;-p=/path/to/module/src;;--extra-arg-before=--driver-mode=g++" --source=/path/to/module/src/api/base_controller.cpp -- /usr/lib64/ccache/c++  -I/path/to/module/src -I/home/vagrant/.conan/data/catch2/2.11.0/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include -DFAST_LOCK -D__CPU_x86_64 -DPKG_MALLOC -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DUSE_SCTP -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN -DUSE_RAW_SOCKS -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT  -D_GNU_SOURCE -DCUSTOM_LOG_FMT -fPIC -Wall -Werror -Wextra -Wno-write-strings -Wno-format -g -Wextra -Wno-error=class-memaccess -Wno-error=implicit-fallthrough -O3 -DNDEBUG  -D_GLIBCXX_USE_CXX11_ABI=1 -o CMakeFiles/module.dir/api/base_controller.cpp.o -c /path/to/module/src/api/base_controller.cpp
error: unable to handle compilation, expected exactly one compiler job in '' [clang-diagnostic-error]
Error while processing some/path/src/.
5481 warnings and 1 error generated.
Error while processing some/path/src/api/file.cpp.
Suppressed 5481 warnings (5403 in non-user code, 78 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
Found compiler error(s).

一些注意事项:

  1. 没有ENABLE_CLANG_TIDY标志,该项目编译的
  2. (我已经修正了clang-tidy报告

的错误)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-27 14:48:27

我也遇到了同样的问题,解决方案很简单--删除CMAKE_CXX_CLANG_TIDY字符串中的最后一个分号:

你的台词:

代码语言:javascript
复制
set(CMAKE_CXX_CLANG_TIDY "${CLANGTIDY};-extra-arg=-Wno-unknown-warning-option;-header-filter=${CMAKE_SOURCE_DIR}/src/*;")

代之以:

代码语言:javascript
复制
set(CMAKE_CXX_CLANG_TIDY "${CLANGTIDY};-extra-arg=-Wno-unknown-warning-option;-header-filter=${CMAKE_SOURCE_DIR}/src/*")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63632193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档