當前位置:首頁 » 編程軟體 » so編譯器版本

so編譯器版本

發布時間: 2023-02-05 15:50:56

㈠ libcurl庫編譯生成不帶版本的設置方法

原文鏈接: https://blog.csdn.net/Auris/article/details/94549541

Android JNI 最近調試發現Android可以調用linux的so庫,但是Android不能直接調用so庫帶版本號的文件,類似於xxx.so.4.5.0;
xxx.so.4.5.0 的文件方式是Linux用來區分so庫文件的版本作用的,為了讓Android能夠調用so庫,需要在編譯so庫的時候,配置編譯腳本
,使其支持生成不帶版本號的so庫文件;
我們在使用libcurl庫的時候,就出現了這個問題,將libcurl編譯生成的so庫文件libcurl.so.4.5.0直接導入到Android工程中,運行提示
無法找打libcurl.so.4.5.0文件;
通過修改curl源碼文件夾下的configure文件

library_names_spec='${libname}${shared_ext}'
soname_spec=''

編譯開源項目: https://github.com/ibaoger/libcurl-android
一定要用ndk-r13b,ndk-r13b,ndk-r13b 進行編譯

㈡ 求一款能夠編輯linux系統的.so文件的工具。百度毫無信息啊

用二進制編輯器
linux用VI也可以吧
1。 vim -b your_file (-b 是二進制模式, 一定要,否則文件大小會變)
2。 然後「:%!xxd」就可以轉換為16進制,注意要編輯左邊的hex, 改寫右邊的文本沒用!和Ultraedit嚴重不同
3。 編輯好了再「:%!xxd -r」轉換迴文本模式":wq"存檔退出。

㈢ 怎樣查看.so文件由哪些.o文件鏈接而成能不能知道這些.o文件的路徑

應該看不了。靜態的庫文件是可以用ar來看的。so本身是編譯成了類似可執行的二進制的文件了,ldd也只能看編譯器版本。

㈣ Linux下怎麼獲得c庫版本怎麼動態的獲得c編譯器版本

外部調用 gcc -v 抓取最後一行吧
libc庫可以直接外部運行 /lib/libc.so.6,或者用 /usr/include/gnu/libc-version.h 里的兩個函數找

㈤ 在一個版本的linux下編譯的共享庫so文件,在其它linux版本下可以正常使用嗎

建議先核對下兩個系統的GCC版本。

㈥ linux 下如何將動態鏈接庫.so進行反編譯後,換編譯器重新編譯

程序能不能正常運行取決於程序和動態庫之間的ABI是否兼容。只要ABI兼容那麼編譯器版本就沒有影響。高版本的編譯器同樣可以使用低版本的ABI來生成目標代碼,但這個問題要具體分析。你解決問題的思路完全不對。

㈦ 求教:aix下動態鏈接庫*.so文件如何編譯出來

先檢查你的編譯器是什麼編譯器:
看是gcc還是cc,下面是cc版本的
編譯成32位版本:
cc -q32 -qmkshrobj -o XXXXXX.so XXXXXX.c
編譯成64位版本:
cc -q64 -qmkshrobj -o XXXXXX.so XXXXXX.c

熱點內容
在jsp中使用資料庫 發布:2024-03-29 19:29:01 瀏覽:785
dns伺服器江川區ip地址 發布:2024-03-29 18:47:53 瀏覽:327
sql統計百分比 發布:2024-03-29 18:47:14 瀏覽:691
javatoolsfor 發布:2024-03-29 18:17:55 瀏覽:900
linuxi2c驅動 發布:2024-03-29 18:09:56 瀏覽:672
junit源碼下載 發布:2024-03-29 18:00:10 瀏覽:526
本田雅閣壓縮機不工作 發布:2024-03-29 17:59:13 瀏覽:601
溯源碼可以偽造嗎 發布:2024-03-29 17:54:45 瀏覽:57
北京編程傳 發布:2024-03-29 17:54:44 瀏覽:436
編程畫曲線 發布:2024-03-29 17:48:59 瀏覽:60