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

CMake: how to specify custom import library name (MSVC)

本文关键字:MSVC 导入 何指定 自定义 CMake      更新时间:2023-10-16

我生成了一个名为mylib80.dll的共享库后缀"80",因为我想把版本信息嵌入到库名中。

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

……有可能吗所有的吗?我尝试了IMPORT_SUFFIX,但它似乎不像我期望的那样工作。

我使用MSVC,我不需要GCC和其他编译器有这个。

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

http://cmake.org/cmake/help/cmake-2-8-docs.html prop_tgt: ARCHIVE_OUTPUT_NAMEhttp://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:LIBRARY_OUTPUT_NAMEhttp://cmake.org/cmake/help/cmake-2-8-docs.html prop_tgt: RUNTIME_OUTPUT_NAME

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

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