rocketmq-client-php icon indicating copy to clipboard operation
rocketmq-client-php copied to clipboard

编译时报错:has no member named

Open c8202196 opened this issue 4 years ago • 6 comments

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

c8202196 avatar Mar 21 '20 11:03 c8202196

可能是依赖的cpp 版本包有所更新,待我修正下

lpflpf avatar Mar 23 '20 01:03 lpflpf

辛苦老哥。得跟着C++最新版的SDK一起升级下了,C++那边大改了...

noahyao1024 avatar Mar 23 '20 02:03 noahyao1024

辛苦老哥,cpp版本用1.2.2就编译过去了

c8202196 avatar Mar 23 '20 02:03 c8202196

新版本已添加,可以试试看

lpflpf avatar Mar 26 '20 10:03 lpflpf

使用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);

c8202196 avatar Mar 27 '20 15:03 c8202196

bug 已修复

lpflpf avatar Mar 31 '20 09:03 lpflpf