rocketmq-client-php
rocketmq-client-php copied to clipboard
编译时报错:has no member named
make的时候报错如下:
[root@10 rocketmq-client-php]# make g++ -Wall -c -I. -O2 -std=c++11 -fpic -o src/pull_consumer.o src/pull_consumer.cc src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getMessageModel()’: src/pull_consumer.cc:155:28: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘getMessageModel’ return this->consumer->getMessageModel(); ^ src/pull_consumer.cc: In member function ‘void PullConsumer::setMessageModel(Php::Parameters&)’: src/pull_consumer.cc:158:21: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘setMessageModel’ this->consumer->setMessageModel(rocketmq::MessageModel((int)params[0])); ^ src/pull_consumer.cc: In member function ‘void PullConsumer::setTcpTransportPullThreadNum(Php::Parameters&)’: src/pull_consumer.cc:163:21: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘setTcpTransportPullThreadNum’ this->consumer->setTcpTransportPullThreadNum((int64_t)param[0]); ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getTcpTransportPullThreadNum()’: src/pull_consumer.cc:168:37: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘getTcpTransportPullThreadNum’ return (int64_t)this->consumer->getTcpTransportPullThreadNum(); ^ src/pull_consumer.cc: In member function ‘void PullConsumer::setTcpTransportConnectTimeout(Php::Parameters&)’: src/pull_consumer.cc:173:21: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘setTcpTransportConnectTimeout’ this->consumer->setTcpTransportConnectTimeout((int64_t)param[0]); ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getTcpTransportConnectTimeout()’: src/pull_consumer.cc:177:37: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘getTcpTransportConnectTimeout’ return (int64_t)this->consumer->getTcpTransportConnectTimeout(); ^ src/pull_consumer.cc: In member function ‘void PullConsumer::setTcpTransportTryLockTimeout(Php::Parameters&)’: src/pull_consumer.cc:182:21: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘setTcpTransportTryLockTimeout’ this->consumer->setTcpTransportTryLockTimeout((int64_t)param[0]); ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getTcpTransportTryLockTimeout()’: src/pull_consumer.cc:187:37: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘getTcpTransportTryLockTimeout’ return (int64_t)this->consumer->getTcpTransportTryLockTimeout(); ^ src/pull_consumer.cc: In member function ‘void PullConsumer::setUnitName(Php::Parameters&)’: src/pull_consumer.cc:192:21: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘setUnitName’ this->consumer->setUnitName(param[0]); ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getUnitName()’: src/pull_consumer.cc:196:28: error: ‘class rocketmq::DefaultMQPullConsumer’ has no member named ‘getUnitName’ return this->consumer->getUnitName(); ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getMessageModel()’: src/pull_consumer.cc:156:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getTcpTransportPullThreadNum()’: src/pull_consumer.cc:169:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getTcpTransportConnectTimeout()’: src/pull_consumer.cc:178:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getTcpTransportTryLockTimeout()’: src/pull_consumer.cc:188:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ src/pull_consumer.cc: In member function ‘Php::Value PullConsumer::getUnitName()’: src/pull_consumer.cc:197:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make: *** [src/pull_consumer.o] Error 1
可能是依赖的cpp 版本包有所更新,待我修正下
辛苦老哥。得跟着C++最新版的SDK一起升级下了,C++那边大改了...
辛苦老哥,cpp版本用1.2.2就编译过去了
新版本已添加,可以试试看
使用rocketmq-client-cpp-2.1.0,结合当前rocketmq-client-php编译过去了。但是在运行代码的时候报错了: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted (core dumped)
具体在下列最后一行代码中断: $consumer = new \RocketMQ\PullConsumer(env('ROCKETMQ_GROUP')); $consumer->setInstanceName(""); $consumer->setTopic(env('ROCKETMQ_TOPIC')); $consumer->setNamesrvAddr(env('ROCKETMQ_NAMESVR')); $consumer->setSessionCredentials(env('ROCKETMQ_AK'), env('ROCKETMQ_SK'), ""); $consumer->start(); $queues = $consumer->getQueues(); $offset = $consumer->fetchConsumeOffset($queues[0], true);
bug 已修复