У меня есть проект C / C ++, который построен с использованием CMake. При попытке скомпилировать статический двоичный файл, я столкнулся с проблемами с GLIBC
версии на моем компьютере и целевой машине. В другом вопросе о SO принятым ответом на аналогичную проблему является использование альтернативной реализации libc, такой как musl
или же uClibc
, (Увидеть Вот)
Я не могу найти информацию о том, как указать cmake
использовать такой альтернативный libc. Ни один из FindMusl.cmake
файл отправлен, и я не могу найти его в Интернете. Просто используя CC=/usr/bin/musl-gcc
не работает.
Как я могу статически связать мой проект cmake с такими альтернативными реализациями libc, сделав его независимым от GLIBC?
Чтобы использовать библиотеку musl с cmake, используйте что-то вроде этого:
export CC="musl-gcc"cmake -DCMAKE_EXE_LINKER_FLAGS="-static -Os" ..
make
или же
export CC="musl-gcc"cmake -DCMAKE_C_FLAGS="-static -Os" ..
make
или же
export CC="musl-gcc -static -Os"cmake ..
make
Других решений пока нет …