编译安装fastcgi++库
从fastcgipp官方网站下载最新的fastcgi++-2.0alpha-81f89e4e.tar.bz2,
-
tar -xjvf fastcgi++-2.0alpha-81f89e4e.tar.bz2
-
cd fastcgi++-2.0alpha-81f89e4e
-
./configure
-
./make
-
./make install
该fastcgi++库完全使用c++编写,依赖boost库(要求>1.35),所以安装时需要先安装boost库。
编译过程中碰到问题 mysql_set_character_set 找不到问题,修改 src/mysql.cpp 文件,将如下两行注释掉
-
//if(mysql_set_character_set(&connection, charset))
-
// throw Error(&connection);
再次编译通过。
安装后include头文件被拷贝到 /usr/local/include/fastcgi++/,库文件被拷贝到 /usr/local/lib/fastcgipp.a
编译examples目录下测试用的fastcgi应用,验证编译安装的正常性。
使用默认的 make examples 没有编译通过。打开Makefile文件,发现缺少对 boost库的引用,将其添加上,再次编译,通过。
-
FASTCGIPP_INCLUDE=/usr/local/include/fastcgi++
-
BOOST_INCLUDE=/usr/local/include/boost-1_39
-
BOOST_CPPFLAG=-I$(BOOST_INCLUDE) -pthread
-
BOOST_THREADLIB=-lboost_thread-gcc34-mt-1_39 -pthread
-
-
pkgConfigLibs=-lfastcgipp -lboost_thread -lmysqlclient
-
CXX=g++
-
CXXFLAG= -g -O2
-
-
database.fcgi: database.cpp
-
$(CXX) -o database.fcgi database.cpp -I$(FASTCGIPP_INCLUDE) $(pkgConfigLibs) $(BOOST_CPPFLAGS) $
-
(CXXFLAGS) $(BOOST_THREAD_LIBS)
-
-
clean:
-
rm -f *.fcgi
—————-
默认Makefile编译不通过的原因
1. 缺少对boost库的目录include引用
2. 缺少boost线程库的应用,默认使用的是-lboost_thread 需要为-lboost_thread-gcc34-mt-1_39 -pthread
Popularity: 5% [?]