【问题标题】:ld.exe: cannot find -lasan ld.exe: cannot find -lubsanld.exe:找不到-lasan ld.exe:找不到-lubsan
【发布时间】:2021-07-13 23:40:01
【问题描述】:

我正在使用 Clion 并且我想使用 ASAN 地址 Sanitizer,当我在此处使用 ASAN 编译文件时出现以下错误:

c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lasan
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lubsan

这是我的 CMakeLists.txt 内容:

cmake_minimum_required(VERSION 3.17)
project(untitled3)


set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "-Wall -Werror -Wsign-compare")

set(CMAKE_CXX_FLAGS_ASAN "-g -fsanitize=address,undefined -fno-sanitize-recover=all"
        CACHE STRING "Compiler flags in asan build"
        FORCE)

add_executable(untitled3 BinarySearchEasy.cpp)

【问题讨论】:

  • libasan.alibubsan.a 在您的开发环境中放置在哪里?
  • *对 Windows 的 san 库支持充其量是不确定的。即使是最近的 gcc 9.2,我也不确定它是否存在。

标签: c++ clion address-sanitizer


【解决方案1】:

尚未为 MinGW 启用消毒剂:https://github.com/msys2/MINGW-packages/issues/3163

【讨论】:

  • @МустафаИд 除了在 MinGW 中实现这个?没有。
  • 是的,除了在 MinGW 中实现之外的任何其他解决方案
猜你喜欢
  • 2011-06-23
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-27
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多