【问题标题】:Indexing PQXX in CLION在 CLION 中索引 PQXX
【发布时间】:2020-03-18 15:39:13
【问题描述】:

我找到了一个 adjacent question 与 CLion 相关的 pqxx。

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 索引标题?

附:工具链是为远程构建设置的。

【问题讨论】:

  • 如果 中有包含,则需要在标题搜索路径中包含它才能正确处理。只需通过include_directories CMake 命令添加 PQXX 包含文件夹即可。
  • @uta 是的,通常情况就是这样。除了在不同的项目中,我使用的是通过柯南包添加的 catch,并且确切地说,catch 标头 catch.hpp 在没有明确指定 include_directories 的情况下被索引。

标签: c++ cmake clion conan libpqxx


【解决方案1】:

实际上的问题是,在处理远程开发时,如果您在cmake-build-debug 目录中有柯南生成的文件,您将需要至少一次手动重新同步远程,如this blog 中所述,通过调用 Tools ->与远程主机重新同步

这样 CLion 将为您重新索引柯南生成的标头。

【讨论】:

    猜你喜欢
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多