【问题标题】:How can I pass arguments to ranlib using cmake?如何使用 cmake 将参数传递给 ranlib?
【发布时间】:2015-08-31 20:22:28
【问题描述】:

使用 CMake 编译静态库时,如何将参数传递给 ranlib

我试过了:

set_target_properties(myLibrary STATIC_LIBRARY_FLAGS "--plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so")

这适用于ar,但不适用于后续的ranlib 命令。

【问题讨论】:

    标签: cmake static-linking


    【解决方案1】:

    你试过了吗?

    SET(CMAKE_C_ARCHIVE_FINISH   "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
    SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
    

    在 Mac 上,这就是我将“-no_warning_for_no_symbols”标志传递给 ranlib 的方式。

    注意:SET 命令不会通过运行“make install”来修改用作安装一部分的 ranlib 命令。 CMake 的安装程序代码不会生成允许将选项添加到 ranlib.

    的安装脚本

    【讨论】:

      【解决方案2】:

      添加

      set_property(
          TARGET myLibrary
          APPEND
          PROPERTY STATIC_LIBRARY_FLAGS "-no_warning_for_no_symbols"
      )
      

      为我工作。

      【讨论】:

        猜你喜欢
        • 2017-05-19
        • 2020-10-11
        • 1970-01-01
        • 1970-01-01
        • 2014-11-12
        • 2013-06-01
        • 2020-09-23
        • 2019-03-14
        • 1970-01-01
        相关资源
        最近更新 更多