1. 程式人生 > >64位centos7 編譯 32位檔案出錯

64位centos7 編譯 32位檔案出錯

[[email protected] demo]$ gcc -m32 str.c -o app
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgcc_s.so when s
earching for -lgcc_s/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status

這個是由於沒有32位的對應安裝包

[[email protected] demo]$ yum search libgcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
=================================== N/S matched: libgcc ====================================
libgcc.i686 : GCC version 4.8 shared support library
libgcc.x86_64 : GCC version 4.8 shared support library

Name and summary matches only, use “search all” for everything.

我這個錯誤執行以下命令即可:
[[email protected] ~]# yum install libgcc.i686

相關推薦

64centos7 編譯 32檔案出錯

[[email protected] demo]$ gcc -m32 str.c -o app /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/lib

64ubuntu編譯32程式

如上使用C4這個小工具時遇到來需要模擬32位系統的需求,發現使用-m32引數後,編譯提示錯誤,如下: /usr/bin/ld: 未知的模擬模式: 32 支援的模擬: elf_x86_64 elf32_x86_64 elf_i386 i386linux elf_l1om e

64開發環境下編譯32dll檔案

       最近在做PH專案的時候,遇到了一個小問題。我們做的系統,算是在人家基礎上的一個二次開發:我們用到他們裝置,同時需要他們給我們提供介面。我們拿到介面,在32位系統上編譯不會出問題,而在我

ubuntu16 64 編譯64程序和32程序

bit dong pan urn 程序 g++ update architect cut 安裝了ubuntu16 64位的系統,想在該環境下用gcc編譯64位和32位的程序 默認已經安裝了64位環境的gcc 1. 首先確認安裝的環境是不是64位的 cocoa@cocoaU

arm-linux-gcc編譯時出現的一些小插曲-----64系統需要32的庫

最近由於工作的需要,重新弄起arm-linux-gcc編譯。離上一次弄這些有整整10年了。 我是在一臺64位的機器上實機安裝的 centos7 發行版,系統和交叉編譯器的安裝過程自是沒話說,問題出在使用arm-linux-gcc編譯 arm程式時, $ arm-linu

64ubuntu下編譯32彙編程式(同時連結C庫)

cmd.s如下://.include "linux.s" .section .data output1: .ascii "There are %d parameters:\n\0" //output2: // .ascii "%s/0" .section .text

64系統下編譯32的彙編程式

最近重新開始看彙編的書,但是依然還是以前的問題,沒法用popl和pushl(以前是乾脆用的popq以及pushq),但是感覺用起來麻煩,特別對照書看,那麼 在網上搜索了一下發現果然有類似的部落格 先是彙編 as --32 -o powers.o powers.s 然後連結

64系統下編譯32彙編程式

#只是例子,計算2^3 + 5^2 .code32 .section .data .section .text .globl _start _start: pushl $

ubuntu 64上的GCC如何編譯32程式

執行命令 gcc -v 顯示: Target: x86_64-linux-gnu 所以,我這裡的gcc預設生成64位的程式。 如果想編出32位的程式,就要加 -m32選項。可是我嘗試了,還是不行。 原來,需要安裝東西。 $ sudo apt-get install b

如何在64linux強制編譯32應用程式

原文地址:http://blog.chinaunix.net/uid-20109107-id-86319.html GDC注:因為需要解決在linux64機上編譯32位的mongodb(沒辦法,因為編譯的php是32位,然後我想將mongdb擴充套件新增到php中),在網

android工程如何編譯3264

android.mk檔案中有LOCAL_MODULE_PATH的值比如為$(TARGET_OUT_SHARED_LIBRARIES)/hw的改為LOCAL_MODULE_RELATIVE_PATH := hw,後一種可以分別在lib和lib64下分別生成32位和64位的s

openssl windows編譯 32&64

openssl版本:openssl-1.0.0a 64位編譯 1、編譯環境: openssl-1.0.0a必須用vs2008編譯,VC6+nasm32是無法編譯了,因為openssl-1.0.0a要求cl.exe的版本比較高,vc6無法編譯,所以用vs2008編

centos64編譯32程序

rom 編譯程序 span libs \n fas swd mirror 因此 test.c #include <stdio.h> int main() { printf("sizeof long is %d\n",sizeof(lo

centos64編譯32程式問題

在centos64位上面編譯32位程式的時候遇到編譯不過的問題,解決過程如下: 1.編譯遇到錯誤,提示錯誤如下: [[email protected] code]# make In file included from /usr/include/features.h:399:0

64程序呼叫32dll的解決方法 64程序呼叫32dll的解決方法

64位程序呼叫32位dll的解決方法   最近做在Windows XP X64,VS2005環境下做32位程式編譯為64位程式的工作,遇到了一些64位程式設計中可能遇到的問題:如內聯彙編(解決方法改為C/C++程式碼),long型別的變化,最關鍵的遇到了64位程序需要呼叫32

64系統上執行32DLL,應將DLL放在C:\Windows\SysWOW64目錄下

在64系統上執行32位DLL,應將DLL放在C:\Windows\SysWOW64目錄下 之前都搞反了。 64位系統安裝目錄分為兩種 64位用:C:\Program Files 32位用:C:\Program Files (x86) 64位系統系統目錄分為兩種 64位用:C:\Windo

使 64ubuntu 支援32程式

第一步: 確認你有一個64位架構的核心 你可以開啟終端然後輸入: dpkg --print-architecture 你將會看到像下面這樣的內容: amd64 這說明著你已經擁有了64位架構核心。 第二步: 確認你打開了多架構支援功能 (多架構支援可以讓你在有64位庫的情況下使用32位庫。) 輸入:

64機器與32機器的區別

文章目錄 一、區別 二、參考 一、區別 比如32位機器 運算器一次最多可以處理32位資料 暫存器最大寬度32 暫存器和運算器之間的通路為32位 如下面的16位機器,運算器和暫存器之間通路為16位。暫存器

編譯32windows系統下可用的JVMTI動態連結庫

        這3天研究如何編譯32位windows系統下可用的jVMTI動態連結庫。中間過程很多時間都在搭建各種環境,其他時間在學習編譯和各個系統的相關知識,總的來說,受益匪淺。記錄一下3天踩過的坑和解決方法。      

【教程】CentOS7.3 32安裝samba與windows資料共享

CentOS7.3 32位安裝samba與windows資料共享 關閉防火牆 sudo systemctl stop firewalld.service # 關閉防火牆 sudo systemctl disable firewalld # 永久禁用 安裝 y