【发布时间】: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_directoriesCMake 命令添加 PQXX 包含文件夹即可。 -
@uta 是的,通常情况就是这样。除了在不同的项目中,我使用的是通过柯南包添加的 catch,并且确切地说,catch 标头
catch.hpp在没有明确指定include_directories的情况下被索引。
标签: c++ cmake clion conan libpqxx