linux arm:RK3399【可以跑鸿蒙、安卓、Linux】
树莓派
CMakeLists.txt
## 601cmake_toolchain_arm/CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(test_arm)
# 1 准备arm的测试程序,用到线程库和系统库
file(WRITE test_arm.cpp [=[
#include <iostream>
#include <sys/types.h>
#include <unistd.h>
#include <thread>
using namespace std;
int main()
{
cout<<"test for arm linux"<<endl;
auto pid = fork();
cout<<"pid = "<<pid<<endl;
thread th([]{cout<<"in thread!\n";});
th.join();
return 0;
}
]=])
add_executable(test_arm test_arm.cpp)
target_link_libraries(test_arm pthread)
linux_arm_toolchain.cmake
# 601cmake_toolchain_arm/linux_arm_toolchain.cmake
# cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=linux_arm_toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
# 安装工具链
# tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
# /home/xcj/code/tools/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin
set(tools /home/xcj/code/tools/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu)
set(CMAKE_C_COMPILER ${tools}/bin/aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${tools}/bin/aarch64-linux-gnu-g++)
在目录控制台执行:
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=linux_arm_toolchain.cmake