c++ - 使用 Cmake 编译并使用仅 header 库

标签 c++ cmake eigen eigen3

这个问题是上一个问题的延续/重复问题,它没有解决我遇到的问题。

Using Eigen with Cmake

使用 make 文件编译 Eigen 是一步任务。但是在 Cmake 中,如何添加仅 header 库(基本上我只使用 Eigen 网站中提取的存档文件夹中的 Eigen 文件夹,而忽略其余部分。) 注意:Eigen文件夹有自己的CMakeLists.txt

最佳答案

今天我想使用 stb_image.h 时遇到了同样的问题图书馆。我是这样解决的:

定义带有头文件的库作为输入文件:

add_library(stb_image SHARED stb_image.h)

由于该文件没有可识别的文件结尾,您必须告诉 cmake 文件使用的是哪种语言(在本例中为 C):

set_target_properties(stb_image PROPERTIES LINKER_LANGUAGE C)

最后,stb_image 需要我定义 STB_IMAGE_IMPLEMENTATION 来启用库的编译:

target_compile_definitions(stb_image PRIVATE STB_IMAGE_IMPLEMENTATION)

关于c++ - 使用 Cmake 编译并使用仅 header 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28306704/

相关文章:

c++ - 连接 C++ 和 Postgresql

c++ - 链表 const 迭代器

cmake - target_include_directories 上的生成器表达式的用例是什么?

cmake - CMake:如何先执行add_custom_command

eigen - 如何使用 Eigen 库用模板定义 Vector?

c++ - Eigen :高效克罗内克积

c++ - 将具有各种 float 的字符串转换为 float 。

c++ - 触发编译错误

c++ - 在 Windows 上从源安装 GLFW

c++ - 如何使用 Eigen 避免稀疏表达式中的内存分配