国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

這篇具有很好參考價(jià)值的文章主要介紹了在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 前言

????????因?yàn)楣ぷ餍枰乙獙⒁环軨語言代碼編譯成可執(zhí)行文件傳送到某安卓系統(tǒng)里執(zhí)行。

????????眾所周知,使用ndk編譯代碼有三種使用方式,分別是基于 Make 的 ndk-build、CMake以及獨(dú)立工具鏈。以前進(jìn)行ndk編程都是使用ndk-build進(jìn)行的,新建jni目錄,編寫Android.mk和Application.mk,使用Notepad++進(jìn)行代碼編寫,然后執(zhí)行ndk-build進(jìn)行編譯。不過隨著項(xiàng)目越來越大,這種基于記事本的編輯簡直無法忍受了,于是想到了使用CLion IDE進(jìn)行代碼的編寫和編譯。CLion使用的是CMake進(jìn)行項(xiàng)目構(gòu)建的。

????????在ndk r19版本以前,要在CLion上編譯ndk只能采用獨(dú)立工具鏈的方式,創(chuàng)建獨(dú)立工具鏈供CLion調(diào)用。

????????不過r19之后,ndk的默認(rèn)工具鏈都是獨(dú)立工具鏈了,不需要再創(chuàng)建了。

????????本文記錄在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行程序的配置步驟。

2. NDK下載安裝

從以下路徑下載NDK

NDK 下載 ?|? Android NDK ?|? Android Developers

選擇?Windows 64 位 發(fā)表此博客時,最新版本是

android-ndk-r25c-windows.zip

我意外的選了個?不受支持的舊版本android-ndk-r19c,小伙伴們請安裝最新的。

下載后解壓縮。

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

然后將解壓后的目錄配置到系統(tǒng)環(huán)境變量 path 中

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

?CMD執(zhí)行命令

ndk-build.cmd -v

看看是否安裝成功

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

?OK,顯示除了版本號,安裝成功。

3.Clion配置與執(zhí)行

????????打開Clion,新建一個C project。

????????打開菜單File->Settings->Build,Execution,Deployment->Toolchains,點(diǎn)擊加號選擇“MinGW”新建一個工具鏈,如果系統(tǒng)沒有MinGW的話,可以點(diǎn)擊菜單右邊的“Download”,在新打開的網(wǎng)頁中點(diǎn)擊“Sourceforge”進(jìn)行下載安裝,安裝完成后還需要添加環(huán)境變量。

????????我的環(huán)境已經(jīng)有了MinGw, 工具鏈配置如下圖所示

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

主要是Make、C Compiler、C++ Compiler這三個路徑的配置。

打開菜單File->Settings->Build,Execution,Deployment->CMake,點(diǎn)擊加號添加新的CMake項(xiàng)目配置,Name名字隨便起。Toolchains選擇剛才的工具鏈配置。 CMake options點(diǎn)擊右邊的展開,輸入以下配置項(xiàng)。

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

?CMake options配置內(nèi)容復(fù)制如下:

-DCMAKE_TOOLCHAIN_FILE="D:\softwaretmp\android-ndk-r19c-windows-x86_64\android-ndk-r19c\build\cmake\android.toolchain.cmake"
-DCMAKE_SYSTEM_NAME=Android
-DANDROID_ABI=arm64-v8a
-DCMAKE_ANDROID_NDK="D:\softwaretmp\android-ndk-r19c-windows-x86_64\android-ndk-r19"
-DCMAKE_SYSTEM_VERSION=19
-DCMAKE_C_FLAGS=""
-DCMAKE_CXX_FLAGS=""
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang

????????其中最重要的是CMAKE_TOOLCHAIN_FILE、CMAKE_SYSTEM_NAME以及ANDROID_ABI這三項(xiàng)的配置,第一個指定ndk的CMake配置文件,它位于/build/cmake/android.toolchain.cmake,第二個是目標(biāo)系統(tǒng)平臺,這里為Android,第三個是架構(gòu),這里手機(jī)CPU是arm64-v8a架構(gòu)的,所以用arm64-v8a。

查看CMakelists.txt,如下,未做改動

cmake_minimum_required(VERSION 3.23)
project(C_plus_test)

set(CMAKE_CXX_STANDARD 14)

add_executable(C_plus_test main.cpp)

????????配置完成,寫一個最簡單的hello world程序測試以下:

#include <stdio.h>

int main()
{
    printf("hello world\n");
    return 0;
}

點(diǎn)擊編譯:

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

執(zhí)行日志:

"D:\Program Files\JetBrains\CLion 2022.2.4\bin\cmake\win\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=D:/softwaretmp/android-ndk-r19c-windows-x86_64/android-ndk-r19c/prebuilt/windows-x86_64/bin/make.exe -DCMAKE_C_COMPILER=D:/softwaretmp/android-ndk-r19c-windows-x86_64/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe -DCMAKE_CXX_COMPILER=D:/softwaretmp/android-ndk-r19c-windows-x86_64/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe -DCMAKE_TOOLCHAIN_FILE=D:\softwaretmp\android-ndk-r19c-windows-x86_64\android-ndk-r19c\build\cmake\android.toolchain.cmake -DCMAKE_SYSTEM_NAME=Android -DANDROID_ABI=arm64-v8a -DCMAKE_ANDROID_NDK=D:\softwaretmp\android-ndk-r19c-windows-x86_64\android-ndk-r19 -DCMAKE_SYSTEM_VERSION=19 -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -G "CodeBlocks - MinGW Makefiles" -S C:\Users\harry_zhang\CLionProjects\C_plus_test -B C:\Users\harry_zhang\CLionProjects\C_plus_test\cmake-build-debug-mingw
-- ANDROID_PLATFORM not set. Defaulting to minimum supported version
16.
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/softwaretmp/android-ndk-r19c-windows-x86_64/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/softwaretmp/android-ndk-r19c-windows-x86_64/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/harry_zhang/CLionProjects/C_plus_test/cmake-build-debug-mingw

[Finished]

由于ANDROID_PLATFORM沒有設(shè)置,系統(tǒng)默認(rèn)取最小值16。

根據(jù)編譯打印的最后一行,打開目錄?C:/Users/harry_zhang/CLionProjects/C_plus_test/cmake-build-debug-mingw

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

這里的C_plus_test就是生成的文件。這個名字是我clion新建項(xiàng)目時隨便取的。

4.adb傳送到安卓設(shè)備調(diào)試成功

devicename:/data/local/tmp # ls -l | grep C_plus_test
-r--r--r-- 1 shell shell     10344 2023-03-21 19:18 C_plus_test
devicename:/data/local/tmp # chmod +x C_plus_test
devicename:/data/local/tmp # ./C_plus_test
hello world

執(zhí)行成功。

5.最后

????????其實(shí)我的安卓環(huán)境應(yīng)該?APP_PLATFORM=android-29,但是低版本也是可以執(zhí)行的。

????????如果你想改會原來的編譯和執(zhí)行環(huán)境,可以選擇Custom Compier,打勾保存,即可。

在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序

?文章來源地址http://www.zghlxwxcb.cn/news/detail-410921.html

到了這里,關(guān)于在Clion開發(fā)工具上使用NDK編譯可以在安卓上執(zhí)行的程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • flutterui構(gòu)建工具,Java+性能優(yōu)化+APP開發(fā)+NDK+跨平臺技術(shù)

    flutterui構(gòu)建工具,Java+性能優(yōu)化+APP開發(fā)+NDK+跨平臺技術(shù)

    面試的時候除了算法題,其他被懟成弟弟,沒想到面試官給過了,一天面完三面并且一周之后收到了oc,覺得自己非常的幸運(yùn),終于得到了大廠的認(rèn)可(雖然是顆白菜)。這里建議網(wǎng)友如果有自己亮點(diǎn)的話,還是可以勇敢大膽的嘗試一下大廠,畢竟除了實(shí)力之外,運(yùn)氣與機(jī)遇也占

    2024年03月15日
    瀏覽(24)
  • 【開發(fā)工具】 我居然可以使用Office Tool Plus 安裝上Office 真的是太不可思議了

    【開發(fā)工具】 我居然可以使用Office Tool Plus 安裝上Office 真的是太不可思議了

    ?? 個人主頁 極客小俊 ??? 作者簡介:web開發(fā)者、設(shè)計(jì)師、技術(shù)分享博主 ?? 希望大家多多支持一下, 我們一起進(jìn)步!?? ?? 如果文章對你有幫助的話,歡迎評論 ??點(diǎn)贊???? 收藏 ??加關(guān)注 Office Tool Plus (簡稱OTP)是一款微軟 Office 辦公軟件 下載、安裝、管理 的按照部

    2024年02月02日
    瀏覽(51)
  • Clion配置C++程序用Android NDK編譯,并用真機(jī)遠(yuǎn)程調(diào)試(臨時目錄和termux)

    Clion配置C++程序用Android NDK編譯,并用真機(jī)遠(yuǎn)程調(diào)試(臨時目錄和termux)

    :ndk, clion, cmake, usb, tcp, ssh, remote debug, remote gdb debug, termux, tabby 假設(shè)已經(jīng)有了一個在windows下能正常編譯運(yùn)行的C++控制臺程序,本文僅說明如何在windows下交叉編譯到android并調(diào)試。C++庫類似。 要點(diǎn)提示: 對于unity用戶,建議用unity 2022自帶的 ndk r23 。理論上可以用新版,但

    2024年02月21日
    瀏覽(72)
  • 微信小程序逆向 小程序包使用unveilr工具解包后在開發(fā)者工具報(bào)[ WXML 文件編譯錯誤] xxx.wxs Unexpected token `}`

    微信小程序逆向 小程序包使用unveilr工具解包后在開發(fā)者工具報(bào)[ WXML 文件編譯錯誤] xxx.wxs Unexpected token `}`

    微信小程序逆向 使用解包工具后后在開發(fā)者工具報(bào)[ WXML 文件編譯錯誤] xxx.wxs Unexpected token } 頁面上則報(bào)編譯.wxml文件錯誤… 解決方案: 很簡單,因?yàn)槭墙獍鰜淼模话愦a都是沒有錯的,我們只需要微信微信開發(fā)者工具中的資源管理器或者其他地方,找到這個文件,然后

    2024年02月08日
    瀏覽(92)
  • 扒開源安卓性能測試工具moblieperf源碼——開發(fā)屬于你自己的性能穩(wěn)定性測試工具

    扒開源安卓性能測試工具moblieperf源碼——開發(fā)屬于你自己的性能穩(wěn)定性測試工具

    moblieperf由阿里巴巴開源的Android性能測試工具 下載:官方源碼地址 mobileperf github 使用: 使用pycharm打開下載的項(xiàng)目 使用只需要修改配置文件 config.conf 即可 運(yùn)行采集:a.mac、linux 在mobileperf工具根目錄下執(zhí)行sh run.sh ; b.windows 雙擊run.bat 配置圖:(簡單使用只需要修改包名和設(shè)

    2024年02月19日
    瀏覽(23)
  • 小程序-真機(jī)上接口無法調(diào)通,開發(fā)者工具上可以

    小程序-真機(jī)上接口無法調(diào)通,開發(fā)者工具上可以

    近期在對接小程序,在這里記錄一下,我們在對接小程序的時候碰到的一些奇奇怪怪的問題。 其中一個問題如下: 真實(shí)效果如下圖 開發(fā)者工具上可以,訪問沒有人任何問題。?真機(jī)上接口無法調(diào)通,也沒有報(bào)錯,也沒有返回值。 檢查自己的小程序服務(wù)器域名配置(這個一般

    2024年02月14日
    瀏覽(17)
  • NDK交叉編譯FFmpeg安卓編譯ffmpeg

    編譯工具下載 參考這個:https://blog.csdn.net/gaoliang0/article/details/81913291 或者官網(wǎng) NDK編譯工具下載: https://developer.android.google.cn/ndk/downloads?hl=zh-cn 官網(wǎng)老版本: https://github.com/android/ndk/wiki/Unsupported-Downloads 或者從我的百度網(wǎng)盤: 鏈接:https://pan.baidu.com/s/1FEtM6mVNgER_DvC2myHB5Q?pwd=28l9 提

    2024年02月08日
    瀏覽(31)
  • 活用 F12 開發(fā)者工具,測試效率原來可以提高這么多

    活用 F12 開發(fā)者工具,測試效率原來可以提高這么多

    F12開發(fā)者工具是瀏覽器自帶的一個開發(fā)調(diào)試工具,因?yàn)榭梢杂肍12快捷鍵直接啟動,所以簡稱為F12工具。 F12工具因?yàn)橛腥缦碌奶攸c(diǎn),所以被開發(fā)和測試人員廣泛使用: 1.簡單輕量免安裝,是瀏覽器內(nèi)置的開發(fā)者工具,可以提供捕獲瀏覽器的數(shù)據(jù)報(bào)文的功能; 2.作為瀏覽器的一部

    2024年02月04日
    瀏覽(19)
  • 【Linux環(huán)境基礎(chǔ)開發(fā)工具】編譯器-gcc/g++

    【Linux環(huán)境基礎(chǔ)開發(fā)工具】編譯器-gcc/g++

    上一篇博客, 我們學(xué)習(xí)了vim編輯工具,學(xué)會了怎么寫代碼, 這篇文章,我將分享代碼該怎么編譯的問題。 目錄 寫在前面: 1. gcc和g++介紹 2. gcc是如何編譯程序的 1. 預(yù)處理 2. 編譯 3. 匯編 4. 鏈接 3. gcc的選項(xiàng)介紹 4. 我們使用的函數(shù)是哪來的 5. 我們的.o文件和庫是如何鏈接的?

    2024年02月10日
    瀏覽(59)
  • 從入門到精通:解鎖Linux開發(fā)工具和編譯器的力量

    從入門到精通:解鎖Linux開發(fā)工具和編譯器的力量

    vim是一個方便編程的功能特別豐富的文本編輯器,憑借他簡潔的三種模式以及豐富的快捷鍵操作,可使得熟練使用的人做到不使用鼠標(biāo)完成代碼的編寫,所以深受人們喜愛。 vim是一個 多模式 的編輯器——命令行模式、插入模式、底行模式。三種模式的轉(zhuǎn)換及關(guān)系如下: 下面

    2024年02月11日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包