CentOS下搭建C/C++服务器环境
工作需要用Linux平台编写服务器,因此把自己搭建环境记录下来,以备不时之需。
0. Linux平台信息
CentOS 6.5 64位
1. 所需软件目录
1.1 gcc、gcc-c++(g++)
1.2 CMake-2.8.12.2
1.3 ncurses-devel
1.4 Mysql
1.5 Boost
1.6 MySql Connector/C++
1.7 C++ IDE
2. 安装步骤
2.1 安装gcc、gcc-c++(g++)
直接使用# yum install gcc gcc-c++即可安装。
2.2 安装CMake-2.8.12.2
从CMake官网下载相关source包(CMake官网地址:http://www.cmake.org/cmake/resources/software.html)
下载后解压包:# tar xvf cmake-2.8.12.2.tar.gz
进入文件夹:# cd cmake-2.8.12.2
运行bootstrap脚本:# ./bootstrap
# make
# make install
这里可能需要root权限。
2.3 安装ncurses-devel
直接# yum install ncurses-devel即可。
2.4 安装Mysql
从官网下载Mysql(http://dev.mysql.com/downloads/mysql/)
下载后解压:# tar xvf mysql-5.6.19.tar.gz
进入文件夹:# cd mysql-5.6.19.tar.gz
# mkdir /usr/local/mysql
# mkdir /data/mysql
编译安装:# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
# make && make install
添加用户组:# groupadd mysql
添加用户:# useradd mysql -g mysql -s /sbin/nologin
# chown mysql.mysql -R /usr/local/mysql
# chown mysql.mysql -R /data/mysql
# cd /usr/local/mysql
# cp support-files/my-medium.cnf /etc/my.cnf
# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
设置开机启动:# chkconfig mysqld on
启动mysql:# service mysql start
进入数据库:# mysql
(如提示mysql: command not found,那是因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,系统在/usr/bin下面查此命令,所以找不到了,解决办法是 ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可。)
2.5 安装Boost
下载Boost包(http://www.boost.org)
解压文件:# tar xvf boost_1_55_0.tar.gz
进入文件夹:# cd boost_1_55_0
编译:# ./bootstrap.sh
# ./bjam install
测试:
vi testboost.cpp
#include <iostream>
#include <boost/version.hpp>
int main()
{
std::cout<<BOOST_VERSION<<std::endl;
return 0;
}
编译:g++ -o testboost testboost.cpp
2.6 MySql Connector/C++
下载MySql Connector/C++包(http://dev.mysql.com/downloads/connector/cpp/)
解压:# tar xvf mysql-connector-c++-1.1.3.tar.gz
进入文件夹:# cd mysql-connector-c++-1.1.3
编译安装:# cmake .
#make
#make install
测试:
vi testsql.cpp
#include <iostream>
#include <sstream>
#include <memory>
#include <string>
#include <stdexcept>
using namespace std;
#include <mysql_connection.h>
#include <mysql_driver.h>
#include <cppconn/driver.h>
using namespace sql;
#define DBHOST ""
#define USER "root"
#define PASSWORD ""
int main() {
Driver *driver;
Connection *conn;
driver = get_driver_instance();
conn = driver->connect(DBHOST, USER, PASSWORD);
conn->setAutoCommit(0);
cout<<"DataBase connection autocommit mode = "<<conn->getAutoCommit()<<endl;
delete conn;
driver = NULL;
conn = NULL;
return 0;
}
编译:g++ -o testsql -lmysqlcppconn testsql.cpp
(1.如遇 "...libmysqlclient_xx, needed ... not found", 找到libmysqlclient_xx的位置,将其做个软链接ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18即可。
2.如遇“ error while loading shared libraries: libmysqlcppconn.so.7: cannot open shared object file: No such file or directory“,找到libmysqlcppconn.so.7位置(如我的/usr/local/lib/libmysqlcppconn.so.7),然后执行ln -s /usr/local/lib/libmysqlcppconn.so.7 /usr/lib/libmysqlcppconn.so.7,并在root权限下执行: ldconfig 。)
2.7 安装C++ IDE
这里选择Eclipse,纯粹按习惯来的。
# yum install eclipse eclipse-cdt
等待安装完毕后,可以在桌面上建立它的启动器,在“命令”中输入Eclipse所在位置(如我的/usr/lib64/eclipse/eclipse)
点击进入Eclipse,点击菜单Help-Install New Software,选择安装版本的更新地址(如我的http://download.eclipse.org/releases/helios),选择Collaboration-Mylyn Brigdge:C/C++ Development,Programming Languages-C/C++ *,安装。
重启Eclipse后,就可以建立C/C++程序了。
3 结语
至此,我的服务器环境已经搭建完毕了,其中碰到的问题想想其实挺简单的,但碰到后一阵手忙脚乱,把它记录下来也许有人也碰到这样的问题呢。

浙公网安备 33010602011771号