2015-11-20 10 views
1

У меня есть проект C/C++, который построен с использованием CMake. При попытке скомпилировать статический двоичный файл, я столкнулся с проблемами с различными версиями GLIBC на своем компьютере и на целевой машине. В другом вопросе о SO, принятый ответ на аналогичную проблему заключается в использовании альтернативной реализации libc, например musl или uClibc. (См. here)Использование альтернативного libc в проекте cmake

Не можете найти информацию о том, как указать cmake на использование альтернативного libc. Ни файл FindMusl.cmake не отправлен, ни я не могу найти его в Интернете. Просто использование CC=/usr/bin/musl-gcc не работает.

Как связать проект cmake с такими альтернативными реализациями libc, что делает его независимым от GLIBC?

+0

Отрегулируйте CFLAGS и компоновщика флаги ?! Возможно, дубликат http://stackoverflow.com/questions/2728552/how-to-link-to-a-different-libc-file – usr1234567

ответ

0

Чтобы использовать библиотеку 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