抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

参考资料

环境

  • 交叉工具链,gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux
  • 安装目录,/home/fulong/rootfs/usr/local/
  • 默认已经编译完openssl库
  • 默认已经编译完cjson库

编译arm版本

1
2
3
4
5
6
7
8
9
10
11
12
13
#解压
tar xvf mosquitto-2.0.7.tar.gz
cd mosquitto-2.0.7
mkdir build
cd build
cmake .. \
-DCMAKE_C_COMPILER=/home/fulong/Public/gcc-x86/bin/arm-linux-gnueabihf-gcc \
-DCMAKE_CXX_COMPILER=/home/fulong/Public/gcc-x86/bin/arm-linux-gnueabihf-g++ \
-DCMAKE_INSTALL_PREFIX=/home/fulong/linux/rootfs4lora_gateway/usr \
-DOPENSSL_INCLUDE_DIR=/home/fulong/linux/rootfs4lora_gateway/usr/include
# 最好使用单线程编译,因为可能内存不够导致编译超时,编译不通过
make
make install

修改文件

  • 为修改后

CMakeLists.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7a08b32..bb5c762 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,12 +33,13 @@ option(WITH_TLS_PSK
option(WITH_EC
"Include Elliptic Curve support (requires WITH_TLS)?" ON)
if (WITH_TLS)
- find_package(OpenSSL REQUIRED)
+ #find_package(OpenSSL REQUIRED)
add_definitions("-DWITH_TLS")

if (WITH_TLS_PSK)
add_definitions("-DWITH_TLS_PSK")
endif (WITH_TLS_PSK)
+ set(OPENSSL_LIBRARIES /home/fulong/linux/rootfs/usr/lib/libcrypto.so /home/fulong/linux/rootfs/usr/lib/libssl.so)

if (WITH_EC)
add_definitions("-DWITH_EC")
@@ -117,7 +118,7 @@ option(WITH_CLIENTS "Build clients?" ON)
option(WITH_BROKER "Build broker?" ON)
option(WITH_APPS "Build apps?" ON)
option(WITH_PLUGINS "Build plugins?" ON)
-option(DOCUMENTATION "Build documentation?" ON)
+option(DOCUMENTATION "Build documentation?" OFF)

add_subdirectory(lib)
if (WITH_CLIENTS)

plugins/message-timestamp/CMakeLists.txt

1
2
3
4
5
6
7
8
9
10
11
diff --git a/plugins/message-timestamp/CMakeLists.txt b/plugins/message-timestamp/CMakeLists.txt
index 5949a75..42603be 100644
--- a/plugins/message-timestamp/CMakeLists.txt
+++ b/plugins/message-timestamp/CMakeLists.txt
@@ -1,5 +1,5 @@
include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/include
- ${STDBOOL_H_PATH} ${STDINT_H_PATH})
+ ${STDBOOL_H_PATH} ${STDINT_H_PATH} ${OPENSSL_INCLUDE_DIR})

add_library(mosquitto_message_timestamp SHARED mosquitto_message_timestamp.c)
set_target_properties(mosquitto_message_timestamp PROPERTIES

评论