Skip to content

关于对cmake编译同名静态库和动态库的解释的建议 #12

@robin-bird-go

Description

@robin-bird-go

你好!我在阅读cmake-practice的文档时,有关于编译出hello.so和hello.a的两个库的内容中,涉及到使用
SET_TARGET_PROPERTIES(hello PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES(hello_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
来防止库因同名而被删除的问题,但是个人(目前使用的cmake是3.10.2)经过一些尝试,在不使用以上语句的情况下也能成功编译出两个同名的库,有没有可能是版本更新后对此进行了优化导致的?或者请问我这样的尝试有什么不当之处吗?还请赐教


ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})

#[[
SET_TARGET_PROPERTIES(
    hello 
    PROPERTIES 
                CLEAN_DIRECT_OUTPUT 1            
)
]]

ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC})

SET_TARGET_PROPERTIES(
    hello_static
    PROPERTIES 
                OUTPUT_NAME "hello"
)

图片

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions