0

I am writing a client for SOAP based web service. I am using gSOAP and it works fine in release and debug builds but cannot do a profiling with instruments.

These error pops out:

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)

Functions referenced here are used to suppress gSOAP logging which drastically slows down application execution time regarding request/response sequence.

Any idea why is this happening?

Martin Berger
  • 1,639
  • 3
  • 18
  • 39

2 Answers2

0

It may help you . Go to Build settings in the Targets . There you can find the valid architecture row. (Remove the armv7s only use the armv7) .

user247
  • 416
  • 3
  • 14
0

These functions are only present if SOAP_DEBUG is defined. When running Release or Profile this directive was turned off.

Solved it by putting #ifdef SOAP_DEBUG before calling those functions.

#ifdef SOAP_DEBUG
    soap_set_sent_logfile(soap, NULL);
    soap_set_recv_logfile(soap, NULL);
    soap_set_test_logfile(soap, NULL);
#endif 
Martin Berger
  • 1,639
  • 3
  • 18
  • 39