RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
muduo用法-创新互联

1.×××
svn上最新的代码

创新互联主要从事网站设计制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务中牟,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

1)需要安装的工具
yum install cmake

2)安装boost

3)进入主目录
./build.sh

2 编译异常

1)CMakeFiles/ttcp_blocking.dir/common.cc.o: In function `parseCommandLine(int, char**, Options*)':
/root/workspace/muduo-master/examples/ace/ttcp/common.cc:14: undefined reference to

`boost::program_options::options_description::options_description(std::basic_string,

std::allocator > const&, unsigned int, unsigned int)'

从该错误可以得知是没有指定链接到boost库导致的

2)在CMakeLists.txt文件中添加链接到boost
set(CMAKE_CXX_FLAGS "-lboost_program_options")

继续提示出错信息:
/root/workspace/muduo-master/muduo/base/FileUtil.cc: In member function ‘int

muduo::FileUtil::ReadSmallFile::readToString(int, String*, int64_t*, int64_t*, int64_t*)’:
/root/workspace/muduo-master/muduo/base/FileUtil.cc:98: 错误:‘sizeof’不能用于不完全的类

型‘boost::STATIC_ASSERTION_FAILURE

由于该问题没有解决,所以尝试换一种思路

3)由于是examples目录下的编译文件在链接的时候,没有指定boost库,导致第一个问题
因此在编译的过程中,取消examples内容的编译,选择生成版本release
BUILD_NO_EXAMPLES=1 BUILD_TYPE=release ./build.sh  -j2
详细的参数设置可以查看build.sh

3 编译结果

和muduo目录平级的目录下生成build文件夹,
库文件:build/release/lib
libmuduo_base.a        libmuduo_http.a     libmuduo_net.a
libmuduo_base_cpp11.a  libmuduo_inspect.a  libmuduo_net_cpp11.a

4 简单测试
运行bin/inspector_test,通过浏览器http://191.168.230.23:12345访问,请关闭linux
防火墙service iptbables stop.

测试结果:
Name:inspector_test
State:S (sleeping)
Tgid:15762
Pid:15762
PPid:12064
TracerPid:0
Uid:0000
Gid:0000

5个人测试
muduo是静态链接的C++程序库,使用muduo库的时候,只需要设置好头文件路径和库文件路径并链接相应的静态库文件(-lmuduo_net -

lmuduo_base)即可。

手动编译第一个丢包的程序

cd muduo-master/examples/simple/discard

g++ main.cc discard.cc   -I /root/workspace/muduo-master/   /root/workspace/build/release/lib/libmuduo_base.a

/root/workspace/build/release/lib/libmuduo_net.a   -lpthread -o muduotest

在这里附上Ubuntu编译的错误:
  编译出错,没有找到pthread_create的实现,安装libboost-dev解决问题
使用指令:
apt-get install g++ cmake libboost-dev make git

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:muduo用法-创新互联
链接URL:http://lswzjz.com/article/cooidc.html