我試圖在64位Kali Linux
操作系統上編譯32位程序。在64位Linux上編譯32位應用程序
這裏是我的系統信息:
[email protected]:~/Desktop# cat /proc/version
Linux version 3.18.0-kali3-amd64 ([email protected]) (gcc version 4.7.2 (Debian 4.7.2-5)) #1 SMP Debian 3.18.6-1~kali2 (2015-03-02)
當我嘗試編譯我C
項目,它不能找到-lgcc
:
[email protected]:~/Desktop/Project# make
cc -o libor libor.c -fno-stack-protector -z execstack -m32 -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
請注意,我用-m32
標誌強制編譯爲32位。
像別處所建議的,32個庫應安裝的我沒有使用下面的命令:
sudo apt-get install libc6-dev-i386
然而,這不僅改變了錯誤消息發送到所述一個上方觀察。我失去了前一個,但我想這不再重要。
請注意,現有的答案沒有幫助我,所以這不是重複。
你有沒有試過'sudo apt-get install ia32-libs'? –
@EugeniuRosca: 'E:包'ia32-libs'沒有安裝應用程序' 我收到很多消息 – BullyWiiPlaza
export CFLAGS = -m32? – resultsway