Мне нужна помощь с включением SSL в eclipse paho.
Для загрузки и сборки Paho я использую «ExternalProject_Add»:
externalproject_add(
paho
DEPENDS libressl
DOWNLOAD_DIR ${CMAKE_SOURCE_DIR}/externals/paho
GIT_REPOSITORY "https://github.com/eclipse/paho.mqtt.c.git"GIT_TAG "83cc318c96d508dd2ef26e87da23a858ff073b56"UPDATE_COMMAND ""PATCH_COMMAND ""CMAKE_ARGS -DPAHO_WITH_SSL=TRUE -DBUILD_SHARED_LIBS=OFF -DOPENSSL_INC_SEARCH_PATH=${CMAKE_BINARY_DIR}/include -DOPENSSL_LIB_SEARCH_PATH=${CMAKE_BINARY_DIR}/lib -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}
BUILD_IN_SOURCE 1
Как вы можете видеть, я установил «CMAKE_ARGS» для использования SSL.
Пока все работает абсолютно нормально.
Я написал небольшую программу, чтобы убедиться, что SSL включен в мою версию Paho. Код этой программы выглядит так:
#include "stdio.h"#include <MQTTClient.h>
int main(int argc, char* argv[])
{
MQTTClient_nameValue* test=MQTTClient_getVersionInfo();
for (int i=0;i<8;i++)if (test[i].name!=0)printf("test2: %i %s\n",i,test[i].name);
return 0;
}
Что он делает, так это то, что выдает некоторую информацию о версии.
test2: 0 Product name
test2: 1 Version
test2: 2 Build level
В позиции 3 должен быть какой-нибудь вывод SSL, если все работает нормально, но, как вы видите, это не так.
Команды CMake для этой маленькой программы выглядят так:
add_executable(test_pahoSSL testPahoSSL.cpp)
target_link_libraries(test_pahoSSL ${CMAKE_BINARY_DIR}/lib/libpaho-qtt3as.so ${CMAKE_BINARY_DIR}/lib/libpaho-mqtt3cs.so)
С этого сайта https://github.com/eclipse/paho.mqtt.c я получил информацию, которая мне нужна для ссылки xxx3as.so & xxx3cs.so, который должен быть библиотеками с поддержкой SSL.
Когда я жестко закодировал
#define OPENSSL 1
в «MQTTCLinet.h» моя тестовая программа выдает расширенный вывод (с SLL).
Из процесса сборки и компоновки все вроде бы работает нормально, но я не получаю никакой информации по SSL. Может ли кто-нибудь указать на ошибку, которую я делаю?
Заранее спасибо!
Задача ещё не решена.
Других решений пока нет …