QNX QNX系統中新增自己編譯的 so庫

2021-08-21 11:25:00 字數 1547 閱讀 4731

此處贊助

,贊助額0.1元起步,多少隨意

截圖中的screen-gles2.so以及下面的所有動態庫會預設從install/armle-v7/lib/dll和install/armle-v7/lib下查詢,如果沒有對應的so庫,則從開發環境的庫中查詢,預設都是qnx官方提供的庫,其功能都很基礎和有限。

[-followlink search=$/$] /usr/lib/graphics/imx6x=usr/lib/graphics/imx6x表示將從qnx的sdk下的amle-v7路徑下的usr/lib/graphics/imx6x資料夾拷貝到裝置上的/usr/lib/graphics/imx6x之中。當我們的裝置起來之後,我們該路徑下就可以看到該imx6x目錄下的檔案是和sdk的檔案是一樣的。

當我們要修改了部分**後,不使用其開發環境提供的庫時:我們就要修改build檔案,修改方法如下:(以libwfdcfg-imx6x-hdmi.so為例)

1、首先檢視編譯生成libwfdcfg-imx6x-hdmi.so的**所依賴的makefile檔案,可以知道生成該so的檔案路徑。如:

該installdir變數指明了編譯結果所在的目錄。上圖可知我們生成的so檔案最後是放在/install/armle-v7/usr/lib/graphics/imx6x/ 下。

2、修改build檔案,將上述查詢到的so檔案新增到build之中:

/usr/lib/graphics/imx6x/libwfdcfg-imx6x-hdmi.so=../install/armle-v7/usr/lib/graphics/imx6x/libwfdcfg-imx6x-hdmi.so

由於sabreard-graphics.build是存放在image目錄下的,所以我們要先使用..來返回到根目錄後再進入到各個子目錄下。

上述等號的前面表示裝置上的檔案路徑,如果不指定的話,預設是放置在裝置上的/proc/boot/目錄下的。

經過以上修改之後我們便可以在裝置上使用我們自己的so庫了。

也有一種簡單的改法,就是修改編譯so時用到的makefile檔案,將其編譯生成的so輸出到系統的搜尋路徑中,這樣我們就不需要在build檔案中指定so的路徑了,修改如下:

將上述makefile中的installdir變數注釋起來,這樣生成的so的預設路徑是:/install/armv7-le/lib/dll/下。build修改如下:

/usr/lib/graphics/imx6x/libwfdcfg-imx6x-hdmi.so=libwfdcfg-imx6x-hdmi.so

#create a symlink called ldqnx.so.2 to it(libc.so)

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so

type=link 表示建立乙個符號鏈結 由ldqnx.so.2-->libc.so

mtk 新增app編譯進系統

總之都在devices下,直接搜名字就可以搜到 z wangdh work alps mp n0.mp1 v1.0.2 aeon6737m 65 d n alps device mediatek common device.mk z wangdh work alps mp n0.mp1 v1.0.2...

Linux 核心編譯 新增系統呼叫

主機 ubuntu 11.04 現在核心版本 2.6.38.9 編譯的目標核心版本 2.6.39 編譯成功後修改核心,新增個系統呼叫,並重新編譯核心,編寫c程式,呼叫自己新增的系統呼叫 首先編譯核心 2 解壓核心到任意目錄 這裡不用必須解壓到 usr src 下,linus也說不必那樣做,況且自己也...

Linux系統中如何新增自己的庫檔案路徑

庫檔案在連線 靜態庫和共享庫 和執行 僅限於使用共享庫的程式 時被使用,其搜尋路徑是在系統中進行設定的。一般linux系統把 lib和 usr lib兩個目錄作為預設的庫搜尋路徑,所以使用這兩個目錄中的庫時不需要進行設定搜尋路徑即可直接使用。對於處於預設庫搜尋路徑之外的庫,需要將庫的位置新增到庫的搜...