使用gSOAP创建Web服务时未生成共享对象文件

问题描述 投票:0回答:1

我正在使用gSOAP从C代码创建web服务,遵循this website。我使用这些命令:

soapcpp2 -c -SL -wx calc.h
bin/apxs -a -c calcserver.c soapC.c soapServer.c stdsoap2.c
chmod 755 .libs/calcserver.so

前两个命令成功执行并生成这些文件:

calcserver.o
calcserver.lo
calcserver.slo
calcserver.a

但是文件calcserver.so似乎没有生成。

  1. .so文件没有生成的原因是什么?
  2. 有没有办法从上面生成的文件创建.so文件?
apache gsoap .so
1个回答
0
投票

calcserver.so文件放在当前目录下的.libs目录中。 .libs目录应包含calcserver.so和其他文件:

calcserver.a
calcserver.la
calcserver.lai
calcserver.o
calcserver.so
soapC.o
soapServer.o
stdsoap2.o

要部署Apache模块,请编辑httpd.conf(通常位于1 / private / etc / apache2 / httpd.confor if you locally installedhttpdin / home / username / apachegsoapthen you will find it in / home / username / apachegsoap / conf`)并添加以下条目:

<IfModule mod_gsoap.c>
 <Location /soap>
  SetHandler gsoap_handler
  SOAPLibrary /home/username/apachegsoap/.libs/calcserver.so
  Order allow,deny
  Allow from all
 </Location>
</IfModule>

其中/home/username/apachegsoap应修改为.libs目录的路径。

有关详细信息,请参阅https://www.genivia.com/doc/apache/html/index.html上的官方gSOAP Apache模块文档

© www.soinside.com 2019 - 2024. All rights reserved.