有没有办法知道找到的boost库是静态的还是动态的?

时间:2015-02-04 18:53:11

标签: boost cmake

有没有办法知道从FindPackage(Boost)返回的库是静态还是动态替代?

1 个答案:

答案 0 :(得分:1)

您可以使用CMAKE_FIND_LIBRARY_SUFFIX变量来控制find_library命令查找的文件类型。 FindBoost模块也使用它。然后,您可以调用find_package两次以检测所需的静态版本或共享版本是否可用。 我还没有检查过两件事(但是会这样做):首先,可能是boost的find模块设置了它自己运行时的后缀。其次,cmake可以根据BUILD_SHARED_LIBS标志自动设置适当的后缀;在这种情况下,如果找到,您将自动获得返回的相同类型的库。