gpt4 book ai didi

MacOS - clang 地址清理程序无法链接

转载 作者:行者123 更新时间:2023-12-02 00:34:20 25 4
gpt4 key购买 nike

我一直在尝试使用 Clang 的地址代码清理器,但链接器没有它。链接器可能是“ld”,尽管我的 CMAKE 设置向我保证 clang 是链接器。

已添加 -fsanitize=address编译器和链接器标志。

错误:

Undefined symbols for architecture x86_64:
___asan_after_dynamic_init
...
___asan_before_dynamic_init
...
etc.
ld: symbol(s) not found for architecture x86_64 <<<< **suspicious**
clang: error: linker command failed with exit code 1 (use -v to see invocation)

  • 环境:MacOS
  • clang:Apple LLVM 版本 8.0.0 (clang-800.0.38)
  • cmake:3.7.1
  • CMAKE_CXX_COMPILER =/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++(重定向到 clang)
  • CMAKE_CXX_COMPILER_ID = clang
  • 编译器标志:-O0 -g -fsanitize=地址
  • CMAKE_LINKER =/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++(重定向到 clang)
  • CMAKE_CXX_LINK_EXECUTABLE = CMAKE_CXX_COMPILER 标志 CMAKE_CXX_LINK_FLAGS LINK_FLAGS 对象 -o 目标 LINK_LIBRARIES
  • CMAKE_CXX_LINK_FLAGS = -Wl,-search_paths_first -Wl,-headerpad_max_install_names -fsanitize=地址 -v
  • 最佳答案

    来自 here 的解决方案

    Pass the -fsanitize=address flag to the linker as well as the compiler.



    -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address"

    关于MacOS - clang 地址清理程序无法链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46900598/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com