Индексирование PQXX в CLION

Я нашел смежный вопрос относительно pqxx с CLion.

cmake_minimum_required(VERSION 3.15)
project(pqxx_test)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
    message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
    file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/v0.15/conan.cmake"
            "${CMAKE_BINARY_DIR}/conan.cmake")
endif()
include(${CMAKE_BINARY_DIR}/conan.cmake)

conan_cmake_run(
        REQUIRES
            libpqxx/7.0.1@bincrafters/stable
            boost/1.71.0@conan/stable
        OPTIONS    *:shared=False
                   *:fPIC=False
        BUILD      missing
        GENERATORS cmake_find_package
                   cmake)


include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)

set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)
add_executable(pqxx_test main.cpp)
target_link_libraries(pqxx_test CONAN_PKG::libpqxx CONAN_PKG::boost Threads::Threads)

CLion сообщает о #include <pqxx/pqxx>, что он не найден, и, следовательно, все переменные, объявленные с классами из пространства имен pqxx, отображаются красным цветом.

Есть ли способ заставить CLion индексировать заголовки?

P.S. Набор инструментов настроен для удаленной сборки.


person Karlson    schedule 18.03.2020    source источник
comment
Если у вас есть включение в ‹›, вам нужно включить его в путь поиска заголовка, чтобы правильно его обработать. Просто добавьте папку включения PQXX с помощью команды include_directories CMake.   -  person uta    schedule 19.03.2020
comment
@uta Да, обычно это так. За исключением другого проекта, я использую catch, добавленный через пакет conan, и заголовки catch catch.hpp, если быть точным, индексируются без явного указания include_directories.   -  person Karlson    schedule 19.03.2020


Ответы (1)


На самом деле проблема заключается в том, что при удаленной разработке, если у вас есть сгенерированные conan файлы в каталоге cmake-build-debug, вам потребуется хотя бы один раз выполнить повторную синхронизацию вручную с удаленным, как описано в этот блог, вызвав Инструменты -> Повторная синхронизация с удаленными узлами.

Таким образом, CLion переиндексирует заголовки, сгенерированные conan.

person Karlson    schedule 26.03.2020