目前共有5篇帖子。 字体大小:较小 - 100% (默认)▼  内容转换:不转换▼
 
点击 回复
151 4
编译onmini-cyl_-gatt_-service程序的方法
一派掌门 二十级
1楼 发表于:2026-1-21 19:40
【arm64-toolchain.cmake】
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm64)

set(CMAKE_C_COMPILER ${CMAKE_CURRENT_SOURCE_DIR}/../../Luckfox_Nova_SDK_250430/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${CMAKE_CURRENT_SOURCE_DIR}/../../Luckfox_Nova_SDK_250430/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-g++)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

一派掌门 二十级
2楼 发表于:2026-1-21 19:40

编译依赖库的方法:

mkdir ../../../packages
cp arm64-toolchain.cmake ../../../packages
cd ../../../packages

【交叉编译spdlog-1.17.0】
wget https://github.com/gabime/spdlog/archive/refs/tags/v1.17.0.tar.gz -O spdlog-1.17.0.tar.gz
tar xf spdlog-1.17.0.tar.gz
cd spdlog-1.17.0
cmake . -DCMAKE_TOOLCHAIN_FILE=../arm64-toolchain.cmake -DSPDLOG_BUILD_SHARED=ON
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf spdlog-1.17.0-binary.tar usr
cd ../..

【交叉编译openssl-1.1.1w】
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
tar xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./Configure linux-armv4 no-asm \
  --cross-compile-prefix=$(realpath ../../Luckfox_Nova_SDK_250430/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin)/aarch64-none-linux-gnu- \
  enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers \
  shared
(配置的时候开启了ssl3.0协议和3des算法)
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf openssl-1.1.1w-binary.tar usr
cd ../..

【交叉编译zlib-1.3.1】
wget https://www.zlib.net/zlib-1.3.1.tar.gz
tar xf zlib-1.3.1.tar.gz
cd zlib-1.3.1
cmake . -DCMAKE_TOOLCHAIN_FILE=../arm64-toolchain.cmake
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf zlib-1.3.1-binary.tar usr
cd ../..

 
巨大八爪鱼:【交叉编译json-3.12.0】
wget https://github.com/nlohmann/json/archive/refs/tags/v3.12.0.tar.gz -O json-3.12.0.tar.gz
tar xf json-3.12.0.tar.gz
cd json-3.12.0
cmake . -DCMAKE_TOOLCHAIN_FILE=../arm64-toolchain.cmake
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf json-3.12.0-binary.tar usr
cd ../..

【交叉编译curl-8.9.1】
wget https://curl.se/download/curl-8.9.1.tar.gz
tar xf curl-8.9.1.tar.gz
cd curl-8.9.1
cmake . -DCMAKE_TOOLCHAIN_FILE=../arm64-toolchain.cmake -DOPENSSL_ROOT_DIR=$(pwd)/../openssl-1.1.1w/_install/usr/local
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf curl-8.9.1-binary.tar usr
cd ../..

  2026-2-3 09:08 回复
一派掌门 二十级
3楼 发表于:2026-1-21 19:40

编译主程序的方法:

rm -rf CMakeFiles Makefile RSA_public_key.pem RSA_private_key.pem CMakeCache.txt cmake_install.cmake spi_handler_app

cmake .. -DCMAKE_TOOLCHAIN_FILE=arm64-toolchain.cmake \
  -DCMAKE_CXX_FLAGS=-Wl,-rpath,/root \
  -DCMAKE_PREFIX_PATH=$(pwd)/../../../packages/spdlog-1.17.0/_install/usr/local \
  -DOPENSSL_ROOT_DIR=$(pwd)/../../../packages/openssl-1.1.1w/_install/usr/local \
  -DZLIB_LIBRARY=$(pwd)/../../../packages/zlib-1.3.1/_install/usr/local
make

编译完成后,把下列文件上传到板子上的/root目录下。
../../../packages/spdlog-1.17.0/_install/usr/local/lib/libspdlog.so.1.17.0
../../../packages/openssl-1.1.1w/_install/usr/local/lib/libcrypto.so.1.1
../../../packages/openssl-1.1.1w/_install/usr/local/lib/libssl.so.1.1
../../../packages/zlib-1.3.1/_install/usr/local/lib/libz.so.1.3.1
spi_handler_app
RSA_public_key.pem
RSA_private_key.pem
用到的adb命令:
adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\packages\spdlog-1.17.0\_install\usr\local\lib\libspdlog.so.1.17.0" /root/libspdlog.so.1.17
adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\packages\openssl-1.1.1w\_install\usr\local\lib\libcrypto.so.1.1" /root
adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\packages\openssl-1.1.1w\_install\usr\local\lib\libssl.so.1.1" /root
adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\packages\zlib-1.3.1\_install\usr\local\lib\libz.so.1.3.1" /root
adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\onmini-cyl_-gatt_-service\example\build\spi_handler_app" /root
adb shell chmod +x /root/spi_handler_app
adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\onmini-cyl_-gatt_-service\example\build\RSA_public_key.pem" /root
adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\onmini-cyl_-gatt_-service\example\build\RSA_private_key.pem" /root

 
巨大八爪鱼:cmake .. -DCMAKE_TOOLCHAIN_FILE=arm64-toolchain.cmake \
  -DCMAKE_CXX_FLAGS=-Wl,-rpath,/root \
  -DCMAKE_PREFIX_PATH="$(pwd)/../../../packages/spdlog-1.17.0/_install/usr/local;$(pwd)/../../../packages/json-3.12.0/_install/usr/local;$(pwd)/../../../packages/curl-8.9.1/_install/usr/local" \
  -DOPENSSL_ROOT_DIR=$(pwd)/../../../packages/openssl-1.1.1w/_install/usr/local \
  -DZLIB_LIBRARY=$(pwd)/../../../packages/zlib-1.3.1/_install/usr/local

make


../../../packages/curl-8.9.1/_install/usr/local/lib/libcurl.so.4.8.0


adb push "\\oct1158-ubuntu\oct1158\Documents\Code\C\packages\curl-8.9.1\_install\usr\local\lib\libcurl.so.4.8.0" /root/libcurl.so.4

  2026-2-3 09:09 回复

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:151 回复数:4
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2026-2-3 09:09
 
©2010-2026 Purasbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。