2015-11-20 131 views
1

我有一個使用CMake構建的C/C++項目。在嘗試編譯靜態二進制文件時,我遇到了計算機和目標計算機上不同GLIBC版本的問題。在另一個關於SO的問題中,類似問題的可接受答案是使用libc的替代實現,如musluClibc。 (見here在cmake項目中使用替代libc

我找不到任何關於如何指向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