0

我正在为基于 SOAP 的 Web 服务编写客户端。我正在使用 gSOAP,它在发布和调试版本中运行良好,但无法使用仪器进行分析。

弹出这些错误:

Undefined symbols for architecture armv7:
  "_soap_set_recv_logfile", referenced from:
      _main2 in gSOAPService.o
  "_soap_set_test_logfile", referenced from:
      _main2 in gSOAPService.o
  "_soap_set_sent_logfile", referenced from:
      _main2 in gSOAPService.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

此处引用的函数用于抑制 gSOAP 日志记录,这会大大减慢有关请求/响应序列的应用程序执行时间。

知道为什么会这样吗?

4

2 回答 2

0

SOAP_DEBUG这些函数仅在定义时才存在。运行 Release 或 Profile 时,此指令已关闭。

#ifdef SOAP_DEBUG通过在调用这些函数之前放置来解决它。

#ifdef SOAP_DEBUG
    soap_set_sent_logfile(soap, NULL);
    soap_set_recv_logfile(soap, NULL);
    soap_set_test_logfile(soap, NULL);
#endif 
于 2013-02-06T13:30:23.017 回答
0

它可能会帮助你。转到Targets中的构建设置。在那里您可以找到有效的架构行。(删除 armv7s 只使用 armv7)。

于 2013-02-06T09:58:36.633 回答