这个问题是上一个问题的延续/重复问题,它没有解决我遇到的问题。
使用 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/