編譯主程序的方法:
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
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 ../..