无法让eclipse paho与ssl

时间:2016-10-31 11:14:30

标签: c++ cmake paho

我需要一些帮助在eclipse paho中启用SSL。 要下载并构建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。 到目前为止,每个方面都很好。

我写了一个小程序来验证我的paho版本中是否包含SSL。这个程序的代码看起来像这样:

#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&amp; xxx3cs.so应该是包含SSL支持的库。

当我硬编码

#define OPENSSL 1

在&#34; MQTTCLinet.h&#34;我的测试程序给出了扩展输出(使用SLL)。

从构建和链接过程看,一切似乎都运行良好,但我没有得到任何SSL信息输出。有人可以指出我正在做的错误吗?

提前致谢!

0 个答案:

没有答案