【问题标题】:Avoid cmake to add the flags -search_paths_first and -headerpad_max_install_names in MacOS避免 cmake 在 MacOS 中添加标志 -search_paths_first 和 -headerpad_max_install_names
【发布时间】:2019-02-01 15:32:12
【问题描述】:

我正在使用 cmake 在 MacOS 中为 ARM 构建一个 *.elf 文件。 CMake 正在自动添加标志 -Wl,-search_paths_first -Wl,-headerpad_max_install_name,这会导致生成无效的 *.elf 文件。我收到错误warning: cannot find entry symbol arch_paths_first; defaulting to 00000000080001e0

我尝试在没有该选项的情况下执行 arm gcc 命令,它运行良好。

如何阻止cmake 添加这些标志?

【问题讨论】:

    标签: macos cmake arm


    【解决方案1】:

    我已经找到了一种方法来做到这一点。

    需要添加如下指令:

    set(HAVE_FLAG_SEARCH_PATHS_FIRST 0)
    

    我很确定必须在 project 指令之前添加它。

    为了移除标志-headerpad_max_install_names,我在project指令之后写了以下内容:

    set(CMAKE_C_LINK_FLAGS "")
    

    我想如果我使用g++ 我应该需要添加

    set(CMAKE_CXX_LINK_FLAGS "")
    

    【讨论】:

    • 你是,先生,我的英雄。
    猜你喜欢
    • 2019-05-24
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 2012-04-09
    • 2019-02-02
    相关资源
    最近更新 更多