1. 程式人生 > >【庫連線問題】makefile中如何連線庫以及解決/usr/bin/ld: skipping incompatible問題

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

關於如何連線庫,這裡只記錄自己碰到的一些問題

編寫Makefile

編譯時 -c 生成.o 檔案:後面要加-I (指明包含的標頭檔案)

連結時 -o 生成可執行檔案:-L(指明庫的位置) -l(指明庫的名字)

還有一個是在引用json庫的問題:
lib檔案下有兩個資料夾 include和 lib資料夾
include 資料夾中有一個資料夾json,裡面又包含著json的標頭檔案
lib檔案中放著libjson.a的靜態庫

編寫makefile時 注意,編譯時 引入標頭檔案目錄到include 就行

編寫base_json.h檔案時:引用json的檔案 #include”json/json.h”

今天在做專案的時候,用make命令後出現了/usr/bin/ld: skipping incompatible……問題。
這個問題實質是連結庫檔案時,庫檔案版本與平臺版本不對應的問題。
解決方法:objdump -p libmylib.a 看一下該庫的版本是32為還是64位的,或是ARM版還是..等等。仔細分析一下。你就會恍然大霧。(我的碰到的問題是:編譯器選擇的是64版,但是xxx.a是32版,當然不相容)

這裡寫圖片描述

結論:這幾天碰到的問題很多,這些坑都要自己一個一個踩過,才會有更好的收穫。

相關推薦

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

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

編譯出現:/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

環境配置vsmpir的配置編譯

1、mpir庫下載與基本知識 MPIR 是一個開源的多精度整數和有理數計算庫,基於 GMP 庫開發。MPIR是從GMP移植而來的。因為GMP主要是針對於Unix、Linux作業系統的,使用VC++編譯比較困難。MPIR的主要工作其實就是把GMP移植到Wind

DRF認證Python第三方rest_framework的用法

本文詳細講述了DRF認證元件的原理以及用法. 原始碼剖析 上一篇部落格講解DRF版本的時候我們都知道了,在dispatch方法裡執行了initial方法來初始化我們的版本. 而在initial方法裡

DRF頻率Python第三方rest_framework的用法

開發平臺的API介面呼叫需要限制其頻率,以節約伺服器資源和避免惡意的頻繁呼叫. DRF就為我們提供了一些頻率限制的方法. DRF中的版本、認證、許可權、頻率元件的原始碼是一個流程,且頻率元件再最後執行.

error非root使用者解決/usr/bin/ld: cannot find -lxx缺失函式安裝

錯誤前提:安裝caffe, make時報錯,是依賴項的問題。 一.  出現/usr/bin/ld: cannot find -lxxx錯誤的三種原因 1 系統沒有安裝相對應的lib2 相對應的lib版本不對3 lib(.so檔)的symbolic link 不正確,沒有連

深度學習RNN梯度消失的解決方案(LSTM)

上個部落格裡闡述了梯度消失的原因,同時梯度消失會造成RNN的長時記憶失效。所以在本部落格中,會闡述梯度消失的解決方案:①梯度裁剪(Clipping Gradient)②LSTM(Long Short-T

Mac系統 + Python + Django之開發一個釋出會系統Django模型(二) Mac系統 + Mysql之安裝Mysql資料庫 Python + Mysql之用pymysql連線Mysql資料庫並進行增刪改查操作

上一部分給大家介紹Django的檢視。 接下來繼續來了解Django框架,來看第二部分,此部分是對資料庫的操作。   目錄: 一、設計系統表 二、admin後臺管理 三、基本資料訪問(SQLite資料庫) 四、Django配置MySQL   &

數據系列MySql的select的鎖表範圍

nbsp 範圍 nod 指定 lock 無數據 才會 rdb sele 由於InnoDB預設的是Row-Level Lock,只有明確指定主鍵的時候MySql才會執行Row lock,否則MySql將會執行Table Lock. 1、明確指定主鍵則是行鎖 2、明確指定主鍵,

DRF版本控制Python第三方rest_framework的用法

首先,我們開發的專案會有多個版本. 其次,我們的專案版本會隨著更新越來越多,我們不可能因出了新版本就不維護舊版本了. 那麼,我們就需要對版本進行控制——DRF版本控制. 原始碼剖析 DRF檢視中的A

hive 非等值連線Hive Map Join 的適用場景:非等值連線

一、需求分析 1: 有一個極小的表<1000行 2: 需要做不等值join操作(a.x < b.y 或者 a.x like b.y等) 這種操作如果直接使用join的話語法不支援不等於操作,hive語法解析會直接丟擲錯誤 如果把不等於寫到wh

linux雜談在SSH連線,openssh如何解決'Connection refused'錯誤?

openssh是SSH (Secure SHell) 協議的免費開源實現。SSH協議族可以用來進行遠端控制, 或在計算機之間傳送檔案。 這就意味著遠端登陸,檔案推拉特別是搭建集群后公鑰的部署,經常要利用到openssh。本人之前搭建hadoop叢集模式的時候,公鑰投送就和ssh相關,如今搭建ansible測

書籍連載《STM32 HAL 開發實戰指南—基於F7》-第一章

第三部分 http 使用方法 參考 必須 並不會 簡介 過程 學習過程 從今天起,每天開始連載一章《STM32 HAL 庫開發實戰指南—基於F7》。歡迎各位閱讀、點評、學習。 第1章 如何使用本書 1.1 本書的參考資料 本書參考資料為:《STM32F76xxx參考手冊

OCP|052OCP最新題解析系列-1

RoCE hive roc from ace led pro arc logs 1、.Which two are true about the Archive (ARCn) processes?? A) They automatically delete obsolete

OCP|052OCP最新題解析系列-2

gather n) ddl tor plan mine base rest vid 2、Which two are true about Optimizer Statistics?? A) They do not persist across Instance restar

OCP|052OCP換題,052最新題及答案整理-第10題

perf nsis per shu been 答案 sta shutdown tab 10、Which two are true about consistent database backups? A) They can only be taken when a RECO

OCP|052052最新考試題及答案整理

shadow 考試 color ges http 考試題 nag alt log 【OCP|052】052最新考試題庫及答案整理-1 【OCP|052】052最新考試題庫及答案整理-2 【OCP|052】052最新考試題庫及答案整理-3 【OCP|052】052最新考試題庫

MySQL系列01.數據簡介與MySQL安裝

都在 批量導入數據 ces 網絡 file 升級版 key rep 監聽 去年就想寫MySQL的教程,但是由於學的不好就沒有誤導大家,今年就把學習中的經驗分享給大家,大家也可以加我的QQ群:運維架構師交流群 ~~~~群號:476794643~~~~,一起學習交流 01.數

PHP : MySQLi面向過程操作數據 連接、建、建表、增、刪、改、查、關閉

錯誤 result mys char _array fun 數據庫名 arr per <?php /** *數據庫操作關鍵函數 *mysql_connect:連接數據 *mysql_error:最後一次sql動作錯誤信息 *mysqli_query:執行sq

makefileif語句

ifeq ifeq ($(DEBUG), 1) OPTS= -O0 -g else OPTS = -O2 endif ifneq ifneq ($(DEBUG), 1) OPTS = -O2 else OPTS= -O0 -g endif ifde