win10下CMAKE交叉編譯ARM-LINUX

WIN10下CMAKE交叉編譯ARM64-LINUX

平臺準備(接上一篇文章)

win10
cmake
arm-linux-gcc(aarch64-linux-gnu-gcc-7.3.1.exe)
arm-linux-g++(aarch64-linux-gnu-g++.exe)
make
zcu106開發板
vscode編輯器

開始

首先設置好win10下make、cmake、arm-linux-gcc/g++等環境,在shell中查看
在這裏插入圖片描述
這樣環境編裝好了,接下來編寫CMakeLists.txt
如下:

cmake_minimum_required(VERSION 2.8)

#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc-7.3.1.exe")
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++.exe")

project(hello_world)

include_directories(inc INC_LIST)

aux_source_directory(src SRC_LIST)

add_executable(hello_world main.c ${SRC_LIST})

這裏編寫可以參考https://www.cnblogs.com/Trony/p/10952507.html
上面設置了交叉編譯器,環境、處理器平臺、輸出路徑等
然後便可以cmake了,這裏需要注意,在win10平臺下默認生成的是visual stduio2014的版本,需要指定生成標準unix makefile,這裏代碼如下:

PS C:\Users\Donce Jiang\Desktop\graduate\code\pro> cmake -G "Unix Makefiles" .
-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is GNU 7.3.1
-- Check for working C compiler: D:/Software/vivado/SDK/2018.3/gnu/aarch64/nt/aarch64-linux/bin/aarch64-linux-gnu-gcc-7.3.1.exe
-- Check for working C compiler: D:/Software/vivado/SDK/2018.3/gnu/aarch64/nt/aarch64-linux/bin/aar-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: D:/Software/vivado/SDK/2018.3/gnu/aarch64/nt/aarch64-linux/bin/a-- Check for working CXX compiler: D:/Software/vivado/SDK/2018.3/gnu/aarch64/nt/aarch64-linux/bin/aarch64-linux-gnu-g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Donce Jiang/Desktop/graduate/code/pro

然後make

PS C:\Users\Donce Jiang\Desktop\graduate\code\pro> make
Scanning dependencies of target hello_world
[ 33%] Building C object CMakeFiles/hello_world.dir/main.c.o
[ 66%] Linking C executable /bin/hello_world
[100%] Built target hello_world

最後得到hello_world執行代碼,這裏的hello_world代碼如下,打印環境變量
在這裏插入圖片描述
在開發板上掛載sd卡,並執行hello_world如下:
在這裏插入圖片描述
大功告成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章