IBM Infosphere Streams中的MQTTSource运算符编译错误

时间:2014-12-16 09:30:03

标签: infosphere-spl

系统:在Windows Server上运行VMPlayer。一个虚拟机正在播放IBM Infosphere Streams(3.2)QuickStart Edition和其他MessageSight(1.1)虚拟设备的映像。

使用MQTTSource运算符时出现以下编译错误

   1. "make: *** No rule to make target `/home/streamsadmin/sdk/clients/c/include/MQTTAsync.h', needed by `build/operator/mqttStream.o'. Stop.
2. CDISP0141E ERROR: The compilation of the generated code failed."

sdk路径是IBM MessageSight的SDK。我正在尝试使用MQTT运算符与MessageSight进行connetc流。 SDK或我的代码有问题吗?请找到以下代码。

composite MQTTtestApp {

 graph
     (stream<blob demoData> mqttStream;stream<rstring errorMessage> myErrorStream) = MQTTSource()
     {
         param
             serverURI : "192.168.206.130:1883";
             topics : ["DemoMessagingPolicy"];
             format: block;
         output
             myErrorStream : errorMessage = getError();
     }

     stream<rstring dataSchema> ParsedMsg = Parse(mqttStream)
     {
         param
             format :csv;
     }

     () as myMessageSink = FileSink(ParsedMsg)
     {
         param
             file : "data.csv";
             format : csv;
     }

1 个答案:

答案 0 :(得分:0)

在此版本的运算符中,您需要执行以下操作以获取要编译的代码:

1)下载MQTT客户端并将其安装在VM上。有关详细信息,请参阅此链接:http://www-01.ibm.com/support/knowledgecenter/SSCRJU_3.2.0/com.ibm.swg.im.infosphere.streams.messaging-toolkit.doc/doc/msgtoolkit-reqs.html?lang=en

2)设置他的STREAMS_MESSAGING_MQTT_HOME环境变量。此环境应指向MQTT客户端的安装位置

有一个更新版本的MQTT运算符更容易设置。在新版本中,MQTT客户端作为包的一部分包含在内。因此,您将不再需要单独安装客户端,也不需要设置环境变量。

有关详细信息,请参阅此项目。 http://ibmstreams.github.io/streamsx.messaging/