问题描述
我想添加这个基于 cmake 的静态库
https://github.com/google/highway
到我的静态或动态库
https://github.com/GrokImageCompression/grok
所以,我想先建静态库,再建动态库 并链接到静态库。
我已将静态库添加为子文件夹,并且正在我的文件中生成 .a 文件 cmake 二进制文件夹。但是,我不知道如何链接到这个库
target_link_libraries(${PARENT_LIBRARY_NAME} ${PARENT_BIN_DIR}/hwy)
不起作用。
解决方法
您需要在调用 target_link_libraries
时使用目标的名称,即 target_link_libraries(${PARENT_LIBRARY_NAME} PUBLIC hwy)
或 target_link_libraries(${PARENT_LIBRARY_NAME} PRIVATE hwy)
,具体取决于您是否在公共场合使用 hwy
的标头父库的头文件(选择 PUBLIC)或仅在父库的实现中(选择 PRIVATE)。