該問題一般是gcc中libc環境出現問題,libc其實全名是指glibc中的libc6。
有時候為了做gcc交叉編譯環境,自己從目標系統或者開發包中拷貝或網上下載libc.so,實際上gcc編譯環境中的libc.so並不是真正的so文件,而是一個中間文件,本質上是一個文本文件,用於編譯連接使用,所以在制作交叉編譯環境時不能直接拿libc.so.6重命名為libc.so來使用,而是要使用libc6的dev包中原始的libc.so文件,就沒有問題了。
該文件的實際作用是在鏈接時將靜態庫libc_nonshared.a集成到目標程序。