1. 程式人生 > >編譯出現:【/usr/bin/ld: skipping incompatible * when searching for *】的解決方法

編譯出現:【/usr/bin/ld: skipping incompatible * when searching for *】的解決方法

[email protected]:~/6410/linuxcsqlite3$ make
gcc sqlite.o -o sqlite -L /home/wzg/6410/sqlite-3.5.9/_install/lib -I/home/wzg/6410/sqlite-3.5.9/_install/include  -l sqlite3   
/usr/bin/ld: skipping incompatible /home/wzg/6410/sqlite-3.5.9/_install/lib/libsqlite3.so when searching for -lsqlite3
/usr/bin/ld: skipping incompatible /home/wzg/6410/sqlite-3.5.9/_install/lib/libsqlite3.a when searching for -lsqlite3
/usr/bin/ld: cannot find -lsqlite3
collect2: error: ld returned 1 exit status
make: *** [sqlite] 錯誤 1


       搞了好久都沒搞出來,經過不停地問度娘,終於得到了以下解決方案:

       分析:編譯器給出的錯誤資訊已經很清楚了:相容性問題
       使用命令:file ***.o檢視檔案資訊
       以我遇到的為例:
[email protected]
:~/6410/linuxcsqlite3$ file /home/wzg/6410/sqlite-3.5.9/_install/lib/libsqlite3.so
/home/wzg/6410/sqlite-3.5.9/_install/lib/libsqlite3.so: symbolic link to `libsqlite3.so.0.8.6'

[email protected]:~/6410/linuxcsqlite3$ file /home/wzg/6410/sqlite-3.5.9/_install/lib/libsqlite3.so.0.8.6
/home/wzg/6410/sqlite-3.5.9/_install/lib/libsqlite3.so.0.8.6: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped

       我想使用gcc編譯c檔案,可是該sqlite3是給ARM的,不能相容,所以編譯器不能通過,需要重新下載sqlite3進行編譯。
  

相關推薦

編譯出現/usr/bin/ld: skipping incompatible * when searching for *解決方法

[email protected]:~/6410/linuxcsqlite3$ make gcc sqlite.o -o sqlite -L /home/wzg/6410/sqlite-3.5.9/_install/lib -I/home/wzg/6410/sqlite-3.5.9/_install

Linux環境下gcc靜態編譯/usr/bin/ld: cannot find -lc錯誤原因及解決方法 原因

原因: 一般出現這個問題的時候,Makefile中肯定有-static選項。這其實是靜態連結時沒有找到libc.a。 解決方案: 需要安裝glibc-static.xxx.rpm,如glibc-static-2.12-1.107.el6_4.2.i686.rpm,或是yum install gli

error/usr/bin/ld:skipping incompatible ./libxxxx.so when searching for -lxxxx

轉自: http://www.scalachina.com/home.php?mod=space&uid=1&do=blog&id=106 第一次在Redhat(64bit)下編譯時出現如標題的錯誤,之前在其他機器上編譯沒有問題,後來發現可能

庫連線問題makefile中如何連線庫以及解決/usr/bin/ld: skipping incompatible問題

關於如何連線庫,這裡只記錄自己碰到的一些問題 編寫Makefile 編譯時 -c 生成.o 檔案:後面要加-I (指明包含的標頭檔案) 連結時 -o 生成可執行檔案:-L(指明庫的位置) -l(指明庫的名字) 還有一個是在引用json庫的問題: lib

/usr/bin/ld: skipping incompatible解決方案

今天在做專案的時候,用make命令後出現了/usr/bin/ld: skipping incompatible......問題。 這個問題實質是連結庫檔案時,庫檔案版本與平臺版本不對應的問題。 解決方

/usr/bin/ld: skipping incompatible錯誤

今天碰到的問題: /usr/bin/ld: skipping incompatible qt在連線a和so檔案時報錯 分析:編譯器給出的錯誤資訊已經很清楚了:相容性問題 分析方法:  file xxx.a  或  file xxx.so  看一下該庫的版本是32為還是64位的,或是ARM版還是

編譯過程中提示 /usr/bin/ld: cannot find

在編譯過程中遇到 找不到 /usr/bin/ld: cannot find -lxtst. 首先在本地搜尋該檔案: apt-file/aptitude search xtst; 通過pkg-confi

解決編譯時遇到的/usr/bin/ld: cannot find -lpthreads問題

sudo apt-get update && sudo apt-get install build-essential libevent-pthreads-2.0.5 doxygen

Ubuntu安裝軟體是出現E: Sub-process /usr/bin/dpkg returned an error code (1)的解決方法

在進行系統更新時,有三個軟體totem,totem-plugins,totem-mozilla,好嘛,三兄弟一起來了= = 安裝失敗,如果只是一般的出錯那就算了,關鍵是這貨出錯了之後就不讓我裝其他軟體了,一定要這三個軟體的問題解決了才能安裝其他軟體 從不能為了這貨就重灌系統

Sub-process /usr/bin/dpkg returned an error code (1)的解決方法

之前是專案中用的Docker容器,後來前天突然docker起服務,起不來了,報錯誤如下: FATA[0000] Cannot connect to the Docker daemon. Is ‘docker -d’ running on this host? 然後,我和我的小夥伴

分享以下編譯錯誤java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException的一種解決方法

最近一個專案從eclipse轉為了AS專案,修改依賴後第一次執行時碰到如下錯誤: Error:Execution failed for task ':videoPlayer:transformClassesWithDexForDebug'. > com.android

編譯hostapd時,出現錯誤/usr/bin/ld: cannot find -lnl

[email protected]:/work/project/wifi/04.hostapd/hostapd-2.0/hostapd$ make /usr/bin/ld: cannot find -lnl collect2: ld returned 1 exit

編譯程式出現/usr/bin/ld: Syntax error: word unexpected (expecting ")"

今天編譯C程式,發現有這個錯誤: /usr/bin/ld: Syntax error: word unexpected (expecting ")" 查了很多資料,本來以為只是這個程式的問題 後來編譯了其他的程式,發現也有這個問題,也就是說: 無論編譯什麼程式都

編譯時遇到/usr/bin/ld: cannot find -lluajit 解決方法

今天編譯一個c++和torch程式的時候爆出了/usr/bin/ld: cannot find -lluajit的錯誤,幾經折騰,終於吧這個問題解決了, 出現這個問題的原因就是luajit沒有安裝到正確的位置. 1.下載luajit http://luajit.org/download.

Centos中Qt編譯問題(/usr/bin/ld: 找不到 -lpulse-mainloop-glib,/usr/bin/ld: 找不到 -lpulse...)

Linux下QT編寫一個與視訊播放的程式,出現/usr/bin/ld: 找不到 -lpulse-mainloop-glib,/usr/bin/ld: 找不到 -lpulse 解決辦法: 首先find / -name libpulse.so* 然後cp /usr/li

vddk 編譯錯誤 /usr/bin/ld:cannot find -lthrift

問題描述 編譯 vddk 時報錯: /usr/bin/ld: cannot find -lthrift collect2: 錯誤:ld 返回 1 make: *** [vddk] 錯誤 1 或者報如下錯誤: In file included fr

gcc連線靜態庫的時候的出現錯誤/usr/bin/ld: cannot find -lc

gcc連線靜態庫的時候出現錯誤提示:/usr/bin/ld: cannot find -lc 具體過程:gcc main.c -o test -Ladd -ladd -Lsub -lsub  -Iad

處理 /usr/bin/ld: cannot find -lc等編譯問題

用g++編譯C++程式時顯示出: /usr/lib/ld: cannot find -lc /usr/lib/ld: cannot find -lgcc_s /usr/lib/ld: cannot find -lm /usr/lib/ld: cannot find -lgcc_s 的錯誤。在網上看了很多中關於

解決/usr/bin/ld: cannot find -lc

現象:執行gcc靜態編譯程式時報錯:/usr/bin/ld: cannot find -lccollect2: ld returned 1 exit statusmake: *** [gcc_dry2] Error 1(或者呼叫Makefile編譯時報錯)原因:程式連結需要靜

CentOS安裝Qt編譯錯誤以及無法除錯的問題解決( /usr/bin/ld:cannot find –lGL 和 Debugginghas failed)

CentOS安裝Qt編譯錯誤以及無法除錯的問題解決 1、前提 系統: CentOS-6.5-x86_64-minimal.iso 最小化linux. 手動安裝x-winodws介面。 Qt版本:qt-opensource-linux-x64-5.6.0.run。 安裝qt需