我正在尝试使用仅标头库(线程池)作为子项目。所以在根CMakeLists.txt
我有
ADD_SUBDIRECTORY(thread_pool)
里面thread-pool/CMakeLists.txt
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(thread-pool)
SET(THREAD_POOL_SOURCES)
ADD_LIBRARY(thread-pool STATIC ${THREAD_POOL_SOURCES})
由于这是一个没有源的仅标头库,因此会出错。
CMake 错误:CMake 无法确定目标的链接器语言:线程池
一种解决方案是使用ADD_LIBRARY(thread-pool INTERFACE)
但仅适用于 CMake3.0
并且我安装了 2.8。我不是在寻求有关如何将 CMake 升级到 3.0 的解决方案,但有什么解决方案alternative way that I can use with CMake 2.6 or 2.8
吗?
我想到的一种方法是拥有一个带有一些虚拟功能的假 cpp 文件并将其放入源中,但这将是一个糟糕的解决方案。