Внешний заголовок Clang-TidC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Внешний заголовок Clang-Tid

Сообщение Anonymous »

контекст < /h4>
Полный источник проекта < /p>
Я пытаюсь настроить проект Cmake с Clang-tidy. Однако при транзитивном анализе моего включения, это, кажется, переходит во внешние файлы заголовков. Например: < /p>
[list]
[*][code]CMakeLists.txt[/code] (root-level)
[/list]
[code]# ...
find_program(CLANG_TIDY_EXE NAMES "clang-tidy")
if(CLANG_TIDY_EXE)
message(STATUS "Found clang-tidy: ${CLANG_TIDY_EXE}")
else()
message(FATAL_ERROR "clang-tidy not found!")
endif()

function(enable_clang_tidy target)
set_target_properties(${target} PROPERTIES
CXX_CLANG_TIDY "${CLANG_TIDY_EXE};--quiet"
)
endfunction()
# ...
< /code>
[list]
[*]src/CMakeLists.txt[/code]
[/list]
[code]find_path(TCLAP_INCLUDE_DIR tclap/CmdLine.h
HINTS /opt/homebrew/include /usr/local/include /usr/include
)

if(NOT TCLAP_INCLUDE_DIR)
message(FATAL_ERROR "TCLAP not found. Please install it with `brew install tclap`.")
endif()

add_executable(ccwc main.cpp)
target_include_directories(ccwc SYSTEM PRIVATE ${TCLAP_INCLUDE_DIR})
target_link_libraries(ccwc)
enable_clang_tidy(ccwc)
< /code>
ошибка < /h4>
/opt/homebrew/include/tclap/Arg.h:473:53: error: Call to virtual method 'Arg::toString' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall,-warnings-as-errors]
473 | "Argument flag can only be one character long", toString() ) );
< /code>
обходной путь < /h4>
с вышеизложенным я в настоящее время использую строку: < /p>
#include

TCLAP::CmdLine myCmd("Count bytes in file", ' ', "0.1"); // NOLINT
[/code]
Вопрос

  • Как я могу исправить свою конфигурацию, так что это работает без nolint ?
  • Я также пытался использовать cmake_cx_clang_tidy (как кажется, это более стандартно) без вышеупомянутого enable_tidy . Тем не менее, это становится хуже, поскольку он начинает анализировать и источник GTest. Что, как правило, является хорошим способом настройки этих следующих лучших практик?


Подробнее здесь: https://stackoverflow.com/questions/796 ... ke-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»