企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ### 编译 ***** muduo的编译方法很简单: ``` $ tar zxf muduo-0.8.2-beta.tar.gz $ cd muduo/ $ ./build.sh -j2 ``` 编译`muduo` 库和它自带的例子,生成的可执行文件和静态库文件 分别位于../build/debug/{bin,lib} ``` $ ./build.sh install ``` 以上命令将muduo 头文件和库文件安装到../build/debug-install/{include,lib},以便muduo-protorpc 和muduo-udns 等库使用 如果要编译release版(以-O2优化),可执行: ``` $ BUILD_TYPE=release ./build.sh -j2 ``` 编译muduo 库和它自带的例子,生成的可执行文件和静态库文件 分别位于../build/release/{bin,lib} ``` $ BUILD_TYPE=release ./build.sh install ``` 以上命令将muduo 头文件和库文件安装到../build/release-install/{include,lib},以便muduo-protorpc 和muduo-udns 等库使用 ### 问题 ***** 如果遇到**Defekter Interpreter: Datei oder Verzeichnis nicht gefunden** 翻译是 **错误:没有找到文件或目录的解释器** 解决办法是 ``` 在vim中你也可以使用:set ff=unix然后保存文件,或者:set ff=dos再次获得DOS格式。 ``` 在ubuntu下这个问题就简单多了,直接执行命令: ``` $ sudo apt-get install libboost-dev $ sudo apt-get install libboost-all-dev $ sudo apt-get install libboost-test-dev ``` 如果找不到boost库 若使用cmake编译项目,编辑 FindBoost.cmake 文件 `vi /usr/share/cmake-2.8/Modules/FindBoost.cmake` 在前面添加: ``` SET(Boost_ADDITIONAL_VERSIONS "1.59" "1.59.0") SET(BOOST_ROOT "/path/to/boost1.59.0") ``` 这样` find_package `就可以找到新的boost库了。 或者直接在项目中添加,例如: ``` SET(Boost_ADDITIONAL_VERSIONS "1.59" "1.59.0") SET(BOOST_ROOT "/usr/local/boost1.59.0") # option set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) ``` **无法找到CURL(缺少:CURL_LIBRARY CURL_INCLUDE_DIR) #96** ``` sudo apt-get install libcurl4-openssl-dev。 ``` ***** ### **protobuf 跟zlib的安装** ***** #### **protobuf** `Ubuntu 16.04` 自带有 `protobuf 2.6.1`版本,如果想兼容的话按照下面方式安装 ##### 下载并解压缩 https://github.com/google/protobuf/releases/download/v3.4.1/protobuf-cpp-3.4.1.tar.gz ``` $ tar -zxvf protobuf-cpp-3.4.1.tar.gz ``` ##### 安装 建议将protobuf安装在/usr/protobuf下。请先在/usr下新建一个名为protobuf的文件夹,此即为最终的安装路径。 ``` $ sudo mkdir /usr/protobuf ``` 执行以下命令:(执行下面第一句话时若不成功,则需要安装automake工具)编译时间较长 ``` $ ./autogen.sh ##下载自github的代码需要执行此行来生成configure文件 $ ./configure --prefix=/usr/protobuf $ make $ make check $ sudo make install ``` ##### 配置: 编辑/etc/profile文件 ``` $ sudo vim /etc/profile ``` 在/etc/profile中添加下面内容 ``` ####### add protobuf lib path ######## #(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/protobuf/lib/ #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径 export LIBRARY_PATH=$LIBRARY_PATH:/usr/protobuf/lib/ #执行程序搜索路径 export PATH=$PATH:/usr/protobuf/bin/ #c程序头文件搜索路径 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/protobuf/include/ #c++程序头文件搜索路径 export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/protobuf/include/ #pkg-config 路径 export PKG_CONFIG_PATH=/usr/protobuf/lib/pkgconfig/ ###################################### --------------------- ``` #### 安装zlib 在ubuntu软件源里zlib和zlib-devel叫做zlib1g zlib1g.dev ``` $ sudo apt-get install zlib1g $ sudo apt-get install zlib1g.dev ``` 直接输入上述命令后还是不能安装。这就要求我们先装ruby. ``` //在ubuntu里,zlib叫zlib1g,相应的zlib-devel叫zlib1g.dev。默认的安装源里没有zlib1g.dev。要在packages.ubuntu.com上找。 $ sudo apt-get install ruby //然后再装zlib1g-dev就可以了 $ sudo apt-get install zlib1g-dev ``` [陈硕](https://github.com/chenshuo/muduo/tree/cpp11)