怎么去除CMake构建时输出的库文件名的前缀?就是那个非常无聊的lib前缀

clonne 发布于 2012/06/19 22:27
阅读 2K+
收藏 0
用CMake构建项目时,生成的静态/动态库的文件名总会有"lib"这个前缀。我非常厌恶这种文件名,我的一个动态库的名称是lexi_v1,我希望生成的文件名是lexi_v1.dll,但是CMake总会多此一举,莫名其妙的加上lib,改了输出属性也一样,我想问有没有办法去掉那个该死的lib
加载中
0
红薯
红薯
这是 linux 下的命名习惯哦
0
clonne
clonne

引用来自“红薯”的答案

这是 linux 下的命名习惯哦

用别人的库的话,这些我都不在意。

但是,因为我这是建立自己的库,所以必须要按照自己的喜好,请问能改么

Lunar_Lin
Lunar_Lin
试试Set_target_property,具体参数查文档吧, 如果不行的话, 就不可以了. 在linux下, 强烈建议你不要更改名字.gnu的链接工具都非常依赖那个lib开头(都会给你传递的库名自动加上lib前缀然后去寻找). 你会把自己折腾死的. 开发最好遵循一套规则来. 别人强迫你接受的,最好老老实实接受.deliver东西最重要.
0
cs_cofa
cs_cofa

set_target_properties(libxxx PROPERTIES PREFIX abc)

或者

set_target_properties(libxxx PROPERTIES OUTPUT_NAME "xxx")

不知是否可行?


返回顶部
顶部