src中,service中,的makefile,模块分出
make[4]: soapcpp2: Command not found
soapcpp2 -c ../../code/cms__soap.h
make[4]: soapcpp2: Command not found
soapcpp2 -c ../../code/cms__soap.h
make[4]: soapcpp2: Command not found
由于学习涉及到gSOAP,故简易留下gSOAP的安装过程。
gSOAP是个好东西,它可能很好装,可能也很难装,取决于你的系统已经安装了什么开发包。
我是在Fedora 14上安装的gSOAP,从http://gsoap2.sourceforge.net/下载版本Download gSOAP 2.8.3 stable (11.4 MB),安装gsSOAP,你需要先安装openssl-devel(yum install openssl-devel),byacc-devel(yum install yacc),bison-devel(yum install bison-devel)等开发包,如果你不知道你是否已经安装了,请用rpm -qa命令来查询(仅针对使用rpm包安装的),例如,命令: rpm -qa | grep openssl 将查询出与openssl相关的rpm包安装信息。当你make的时候,在最后即将结束时,遇到 /usr/bin/ld: cannot find -ly 错误的话,请安装 bison-devel 开发包。
yum install openssl-devel openssl-devel byacc-devel yacc bison-devel bison-devel
然后安装gSOAP(root用户执行)。
cd gsoap-2.8
./configure -prefix=/usr/local/gsoap
make
make install
安装成功显示:
echo "+--------------------------------------------------------+"; \
echo "| You now have successfully built and installed gsoap. |"; \
echo "| |"; \
echo "| You can link your programs with -lgsoap++ for |"; \
echo "| C++ projects created with soapcpp2 and you can link |"; \
echo "| with -lgsoap for C projects generated with soapcpp2 -c |"; \
echo "| |"; \
echo "| There are also corresponding libraries for SSL and |"; \
echo "| zlib compression support (-lgsoapssl and lgsoapssl++) |"; \
echo "| which require linking -lssl -lcrypto -lz |"; \
echo "| |"; \
echo "| Thanks for using gsoap. |"; \
echo "| |"; \
echo "| http://sourceforge.net/projects/gsoap2 |"; \
echo "+--------------------------------------------------------+";
+--------------------------------------------------------+
| You now have successfully built and installed gsoap. |
| |
| You can link your programs with -lgsoap++ for |
| C++ projects created with soapcpp2 and you can link |
| with -lgsoap for C projects generated with soapcpp2 -c |
| |
| There are also corresponding libraries for SSL and |
| zlib compression support (-lgsoapssl and lgsoapssl++) |
| which require linking -lssl -lcrypto -lz |
| |
| Thanks for using gsoap. |
| |
| http://sourceforge.net/projects/gsoap2 |
+--------------------------------------------------------+
继续编译。
Entering directory `/root/Downloads/BuildDDS/OpenSpliceDDS6.3/src/services/cmsoap/bld/x86_64.linux2.6-release'
make[4]: *** No rule to make target `stdsoap2.d', needed by `compile'. Stop.
make[4]: Leaving directory `/root/Downloads/BuildDDS/OpenSpliceDDS6.3/src/services/cmsoap/bld/x86_64.linux2.6-release'
make[3]: *** [link] Error 2
(makefile中查错发现,引用了gsoap的stdsoap.c)
stdsoap2.c : $(ESCAPED_GSOAPHOME)/include/stdsoap2.c
sed -e "s/^soap_LONG642s/__soap_LONG642s/" \
-e "s/^soap_s2LONG64/__soap_s2LONG64/" \
-e "s/^soap_ULONG642s/__soap_ULONG642s/" \
-e "s/^soap_s2ULONG64/__soap_s2ULONG64/" "$<" > stdsoap2.c
# cp $< .
OpenSpliceDDS6.3\src\services\makefile
<配置gsoap的环境变量>
export INCLUDE_SERVICES_CMSOAP="yes"
export ESCAPED_GSOAPHOME="/cygdrive/y/x64/gsoap/2.8/"
export GSOAPHOME="/cygdrive/y/x64/gsoap/2.8/"
export GSOAPHOMEBIN="/cygdrive/y/x64/gsoap/2.8/bin/win32"
export PATH=$GSOAPHOMEBIN:$PATH
要导入gsoap的环境变量
(在gsoap中创建include文件并拷贝相关c,cpp,hpp,h到include)