linux中g(shù)cc怎么安裝 64位linux下面的GCC如何編譯出一個(gè)32位可執(zhí)行程序?
64位linux下面的GCC如何編譯出一個(gè)32位可執(zhí)行程序?理論上安裝支持環(huán)境,之后 64 位的 gcc 編譯成 32 位程序,就加 -m32 參數(shù)即可。當(dāng)然還一個(gè)辦法是裝個(gè) 32 位的 gcc 。另
64位linux下面的GCC如何編譯出一個(gè)32位可執(zhí)行程序?
理論上安裝支持環(huán)境,之后 64 位的 gcc 編譯成 32 位程序,就加 -m32 參數(shù)即可。當(dāng)然還一個(gè)辦法是裝個(gè) 32 位的 gcc 。另外,交叉編譯也適用于 x86 架構(gòu)。不過(guò)這么編譯經(jīng)常會(huì)出現(xiàn)各種問(wèn)題,所以編譯 32 位的程序,最好還是用 32 位系統(tǒng)。不一定重裝,用 chroot 和 setarch 命令配合即可弄出一個(gè) 32 位的子系統(tǒng)。一般64位系統(tǒng)最好不要安裝32位庫(kù)的-dev,經(jīng)常有沖突,強(qiáng)行安裝會(huì)破壞64位環(huán)境,頭文件并不像共享庫(kù)分得那么完美。我覺(jué)得比較好的做法是,重新把某一個(gè)文件夾當(dāng)成rootfs,在里面安裝各種32位的庫(kù)和庫(kù)-dev,然后給gcc傳遞參數(shù)"--sysroot=路徑"就可以讓gcc重新選取那個(gè)文件夾為rootfs,而不再認(rèn)為/為rootfs。