c++ 如何在CMake项目中使用xlsxwriter库?

7dl7o3gd  于 2023-03-14  发布在  其他
关注(0)|答案(1)|浏览(507)

我用brew install xlsxwriter安装了xlsxwriter库,brew install xlsxwriter将库添加到系统中:/usr/local/lib/libxlsxwriter.dylib/usr/local/include/xlsxwriter.h的头文件(一个符号链接)。然后,我得到了以下最小的CMakeLists.txt:

cmake_minimum_required(VERSION 3.20)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(main)
add_executable(${PROJECT_NAME} "main.cpp")
find_library(XLSXWRITER_LIB xlsxwriter)
message(${XLSXWRITER_LIB})
target_link_libraries(${PROJECT_NAME} PUBLIC ${XLSXWRITER_LIB})

我可以通过消息验证系统是否正确找到了库,然后,为了测试,我有这个最小的main.cpp:

#include <xlsxwriter.h>

int main() { return 0; }

但是,尝试运行它会产生以下错误:

fatal error: 'xlsxwriter.h' file not found

有人能帮我看看我做错了什么吗?

1l5u6lss

1l5u6lss1#

libxlsxwriter附带了一个pkg-config文件,因此您可以只使用PkgConfig模块:

find_package(PkgConfig REQUIRED)
pkg_check_modules(Xlsxwriter REQUIRED IMPORTED_TARGET xlsxwriter)
target_link_libraries(${PROJECT_NAME} PUBLIC PkgConfig::Xlsxwriter)

这将自动为您设置链接器路径、链接器库和包含路径。

相关问题