CMake:如何指定自定义导入库名称(MSVC)

时间:2011-10-17 10:01:02

标签: c++ visual-c++ cmake

我生成一个名为的共享库,例如mylib80.dll(它有 后缀“80”,因为我想将版本信息嵌入库名。

我使用set_target_properties和_POSTFIX属性来实现 这个。默认情况下,CMake将相应的导入库命名为 mylib80.lib。但我希望我的共享库有一个名为的导入库 mylib.lib(没有嵌入其名称的版本)。

有可能吗? 所有?我尝试了IMPORT_SUFFIX,但它似乎无法正常工作。

我使用MSVC,我不需要为GCC和其他编译器提供此功能。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用以下CMake目标属性为* .lib和* .dll文件指定单独的名称,而不是使用_POSTFIX属性:

http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:ARCHIVE_OUTPUT_NAME http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:LIBRARY_OUTPUT_NAME http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:RUNTIME_OUTPUT_NAME

RUNTIME_OUTPUT_NAME属性对应于dll文件的名称,其他一个(我总是忘记哪一个......)对应于lib文件的名称。

如果已经在没有_POSTFIX的情况下正确命名了lib,那么只需使用RUNTIME_OUTPUT_NAME属性重命名dll文件。

相关问题