chenshuo / muduo-protorpc

Google Protobuf RPC based on Muduo
Other
196 stars 106 forks source link

error: ‘class muduo::net::InetAddress’ has no member named ‘ipNetEndian’; did you mean ‘ipv4NetEndian’? #3

Open xiaolangge opened 3 years ago

xiaolangge commented 3 years ago

按照官方文档编译报错, 如下: /root/muduo-protorpc/muduo-protorpc/examples/zurg/slave/RpcClient.cc: In constructor ‘zurg::RpcClient::RpcClient(muduo::net::EventLoop*, const zurg::SlaveConfig&)’: /root/muduo-protorpc/muduo-protorpc/examples/zurg/slave/RpcClient.cc:64:12: error: ‘class muduo::net::InetAddress’ has no member named ‘ipNetEndian’; did you mean ‘ipv4NetEndian’? if (addr.ipNetEndian() > 0 && addr.portNetEndian() > 0) ^~~ ipv4NetEndian examples/zurg/slave/CMakeFiles/zurg_slave.dir/build.make:182: recipe for target 'examples/zurg/slave/CMakeFiles/zurg_slave.dir/RpcClient.cc.o' failed make[2]: [examples/zurg/slave/CMakeFiles/zurg_slave.dir/RpcClient.cc.o] Error 1 CMakeFiles/Makefile2:1462: recipe for target 'examples/zurg/slave/CMakeFiles/zurg_slave.dir/all' failed make[1]: [examples/zurg/slave/CMakeFiles/zurg_slave.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

查看muduo cpp11分支对应的InetAddress, 果然没有该方法: https://github.com/chenshuo/muduo/blob/cpp11/muduo/net/InetAddress.cc

修改报错处: xxx/examples/zurg/slave/RpcClient.cc

再次编译通过。

Conzxy commented 2 years ago

按照官方文档编译报错, 如下: /root/muduo-protorpc/muduo-protorpc/examples/zurg/slave/RpcClient.cc: In constructor ‘zurg::RpcClient::RpcClient(muduo::net::EventLoop*, const zurg::SlaveConfig&)’: /root/muduo-protorpc/muduo-protorpc/examples/zurg/slave/RpcClient.cc:64:12: error: ‘class muduo::net::InetAddress’ has no member named ‘ipNetEndian’; did you mean ‘ipv4NetEndian’? if (addr.ipNetEndian() > 0 && addr.portNetEndian() > 0) ^~~ ipv4NetEndian examples/zurg/slave/CMakeFiles/zurg_slave.dir/build.make:182: recipe for target 'examples/zurg/slave/CMakeFiles/zurg_slave.dir/RpcClient.cc.o' failed make[2]: [examples/zurg/slave/CMakeFiles/zurg_slave.dir/RpcClient.cc.o] Error 1 CMakeFiles/Makefile2:1462: recipe for target 'examples/zurg/slave/CMakeFiles/zurg_slave.dir/all' failed make[1]: [examples/zurg/slave/CMakeFiles/zurg_slave.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

查看muduo cpp11分支对应的InetAddress, 果然没有该方法: https://github.com/chenshuo/muduo/blob/cpp11/muduo/net/InetAddress.cc

修改报错处: xxx/examples/zurg/slave/RpcClient.cc

再次编译通过。

你是如何编译成功的? 我的环境是ubuntu 20.04 LTS,用apt安装的protoc和protobuf的相关组件, 但是运行./build.sh之后,出现了一些比较莫名的错误: 一开始,是map的问题,我给它们都加了std:: 之后是abi:cxx11的问题,我加上D_GLIBCXX_USE_CXX11_ABI=0之后还是出现undefined reference 到底是哪里出了问题?

richen666 commented 1 year ago

请问问题解决了么?和你过程一样,一直报错undefined reference