Qt for Android 編譯純C工程

2021-09-01 05:48:00 字數 803 閱讀 4994

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

可以直接通過 qt creator 來建立非qt c 工程,如下圖所示:

選擇構建 android 版本,即可構建安卓平台可用的 so 檔案,並且沒有 version name,可以正常使用。但是存在乙個問題,構建出來的動態庫(so)檔案,會依賴 gnustl_shared 這個動態庫。但我們是純 c 工程啊,完全沒必要。怎麼辦?下面是解決辦法:

找到你的 qt 安裝目錄,下面會有 android_armv5 ,android_armv7 等目錄,提到的兩個目錄下都有 android-g++ 目錄。我的計算機上路徑是這樣的: c:\qt\qt5.2.0\5.2.0\android_armv7\mkspecs\android-g++ 。裡面有個 qmake.conf 檔案。通過修改這個檔案,就可以讓純 c 的工程生成的 so 不依賴 gnustl_shared 這個 stl 庫。

這樣改:找到 qmake_libs_private 這行,把 -lgnustl_shared 移除即可。

如上修改後,如果你編譯 c++ 又需要 stl 的工程,則可能會報鏈結錯誤,不過有辦法,在你的pro檔案中加上 libs += -lgnustl_shared 即可。

給我老師的人工智慧教程打call!

22 Qt for android裡呼叫so動態庫

因大部分android裝置都是用arm 處理器,所以動態庫都得用arm的編譯器才可以.而且還得用ndk裡提供的arm編譯器.ndk裡編譯器在很深的目錄裡,它裡面有提供乙個指令碼,把編譯器及本身所有的動態庫全部集中生成到指定的路徑.我的ndk目錄在 disk3 adt bundle linux and...

python純函式 Numpy純函式的效能,快取

這些函式已經存在於scipy中。sigmoid函式可用作 in 36 from scipy.special import expit 將expit與向量化乙狀結腸功能進行比較 in 38 x np.linspace 6,6,1001 in 39 timeit y sigmoid x 100 loop...

mysql 過濾純數字 SQL 中判斷 純數字

有這樣乙個需求 需要把乙個varchar 型別欄位中所有純數字的行取出來.那麼這個select語句要怎麼寫呢?首先想到的是isnumeric 這個sql函式.sql語句如下 select from view user where isnumeric logid 1 但是發現這樣的執行結果並不對.因為...