(1) Compilación cruzada de openssl
1 Descargar openssl
Enlace de descarga: /source/index.html
2 Descomprimir openssl
tar -xzvf openssl-3.0.9.tar.gz
3 Configurar sus config
condiciones de compilación.
~/Downloads/openssl-3.0.9$
./config no-asm -shared --prefix=/home/cidi/Downloads/openssl_arm no-async
4 Modificar Openssl
el Makefile
archivo y configurar su make
compilador .
vim Makefile
(1)Modificación:
CC=$(CROSS_COMPILE)gcc
CXX=$(CROSS_COMPILE)g++
para:
CC=$(CROSS_COMPILE)aarch64-linux-gnu-gcc
CXX=$(CROSS_COMPILE)aarch64-linux-gnu-g++
(2) Busque -m64
opciones y elimínelas , dos en total (de lo contrario, make
se informará un error más adelante)
/-m64
5 hacer
make
make install
(2) Compilación cruzada paho-mqtt
1 Compile paho.mqtt.c
Cree la carpeta build_arm, ingrese build_arm y ejecute:
cmake .. -DCMAKE_INSTALL_PREFIX=/home/cidi/Downloads/pahomqtt_install_arm -DPAHO_BUILD_STATIC=TRUE -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc
make
sudo make install
2 Compile paho.mqtt.cpp
Modifique CMakeLists.txt y agregue las siguientes cuatro líneas
set (CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
set (CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
Cree la carpeta build_arm, ingrese build_arm y ejecute:
export CC=/usr/bin/aarch64-linux-gnu-gcc
cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/cidi/Downloads/pahomqtt_install_arm -DPAHO_MQTT_C_LIBRARIES=/home/cidi/Downloads/pahomqtt_install_arm/lib/libpaho-mqtt3a.so -DPAHO_MQTT_C_INCLUDE_DIRS=/home/cidi/Downloads/pahomqtt_install_arm/include -DOPENSSL_SSL_LIBRARY=/home/cidi/Downloads/openssl_arm/lib64/libssl.so -DOPENSSL_INCLUDE_DIR=/home/cidi/Downloads/openssl_arm/include -DOPENSSL_CRYPTO_LIBRARY=/home/cidi/Downloads/openssl_arm/lib64/libcrypto.so
make
sudo make install
Artículo de referencia:
ubuntu compila paho_mqtt_cpp_paho compila_blog-CSDN de blog de Thera777