Я работаю над продуктом, состоящим из нескольких исполняемых файлов и библиотек C++, которые имеют различные зависимости друг от друга. Я создаю их все с помощью GCC и -fsanitize-address
. Насколько я понимаю, если я хочу использовать дезинфицирующее средство адресов с библиотекой, я должен создать его как общий объект (что является опцией по умолчанию для GCC). Из-за этого я подумал, что лучшим вариантом будет статическая сборка дезинфицирующего средства адресов с -static-libasan
для исполняемых файлов и динамическая сборка для библиотек. Однако, когда я это делаю, я получаю ошибку ссылки при создании одного из исполняемых файлов C++:
==10823==Your application is linked against incompatible ASan runtimes
Это заставляет меня думать, что статическую и динамическую версию дезинфицирующего средства адресов нельзя смешивать с GCC, я прав? Мне не удалось найти никакой информации об этом на странице дезинфицирующих средств GitHub.