【发布时间】:2021-08-26 23:18:07
【问题描述】:
我正在为一个不错的小型 c++ 仅标头库做出贡献,并且我正在修复 cmake 以使该库可以正确安装并可供其他项目查找/使用。库本身确实利用了 stl 的各个部分,包括您需要手动链接的部分。具体来说,它利用了std::thread 等。如何以跨平台的方式指定仅标头库依赖于在 linux 上链接 pthread 而在 windows 或其他平台上做其他事情?
也许这不是问题,但我认为你应该为 linux 做这样的事情:
target_link_options(header-only-project INTERFACE -pthread)
但是,这在 Windows 上会感觉不合适(我猜你在没有额外链接器标志的情况下获得线程?)。在分发尚未采用二进制形式的库时,以跨平台方式指定此类依赖项的正确方法是什么?
【问题讨论】:
标签: c++ cmake cross-platform