std::terminate problem.

Hi,
I’m porting the esoap library and I have a problem with
str::termiante(void) function. The linker doesn’t found this function. But I
don’t use std::terminate(void) in my source code. When I compile the linker
shows this message:

obj/get_temp.o(.text+0x375): undefined reference to std::terminate(void)' .../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::Envelope(void)’:
soap_envelope.o(.text+0x5b1): undefined reference to std::terminate(void)' .../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::setHeader(esoap::Header *)’:
soap_envelope.o(.text+0x6ad): undefined reference to std::terminate(void)' .../../src/obj/libesoap.a(soap_envelope.o)(.text+0x781): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::setFloat(float)': .. .. .. soap_parameter.o(.text+0x1e55): undefined reference to std::terminate(void)’
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::addString(char const *, char const *)': soap_parameter.o(.text+0x1f29): undefined reference to std::terminate(void)’
soap_parameter.o(.text+0x1f7d): undefined reference to
std::terminate(void)' .../../src/obj/libesoap.a(soap_parameter.o): In function esoap::Parameter::setString(char const *)’:
soap_parameter.o(.text+0x2125): undefined reference to
std::terminate(void)' .../../src/obj/libesoap.a(soap_parameter.o)(.text+0x2179): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
`esoap::Parameter::setDouble(double)’:



collect2: ld returned 1 exit status
make[1]: *** [get_temp] Error 1
make: *** [all] Error 2


I find the function in “/usr/include/exception” include, but I couldn’t
find the library.

Any idea.

Regards

Leandro Medina
(Ingdesi Group - R&D)

HI Leandro. The std::terminate function is in the libcpp.so (or libcpp.a) library,
so if you add a -lcpp to you link line, it will be found.

Colin

Leandro Medina <lmedina@ingdesi.com> wrote:

Hi,
I’m porting the esoap library and I have a problem with
str::termiante(void) function. The linker doesn’t found this function. But I
don’t use std::terminate(void) in my source code. When I compile the linker
shows this message:

obj/get_temp.o(.text+0x375): undefined reference to std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::Envelope(void)’:
soap_envelope.o(.text+0x5b1): undefined reference to std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::setHeader(esoap::Header *)’:
soap_envelope.o(.text+0x6ad): undefined reference to std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o)(.text+0x781): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::setFloat(float)': . . . soap_parameter.o(.text+0x1e55): undefined reference to std::terminate(void)’
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::addString(char const *, char const *)': soap_parameter.o(.text+0x1f29): undefined reference to std::terminate(void)’
soap_parameter.o(.text+0x1f7d): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o): In function esoap::Parameter::setString(char const *)’:
soap_parameter.o(.text+0x2125): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o)(.text+0x2179): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
`esoap::Parameter::setDouble(double)’:
.
.
.
collect2: ld returned 1 exit status
make[1]: *** [get_temp] Error 1
make: *** [all] Error 2



I find the function in “/usr/include/exception” include, but I couldn’t
find the library.

Any idea.

Regards

Leandro Medina
(Ingdesi Group - R&D)


cburgess@qnx.com

Thanks Colin!

I have another question, Where finite() and isnan() functions are?.

Best Regards

Leandro Medina


“Colin Burgess” <cburgess@qnx.com> wrote in message
news:9nnv9p$ibd$1@nntp.qnx.com

HI Leandro. The std::terminate function is in the libcpp.so (or libcpp.a)
library,
so if you add a -lcpp to you link line, it will be found.

Colin

Leandro Medina <> lmedina@ingdesi.com> > wrote:
Hi,
I’m porting the esoap library and I have a problem with
str::termiante(void) function. The linker doesn’t found this function.
But I
don’t use std::terminate(void) in my source code. When I compile the
linker
shows this message:

obj/get_temp.o(.text+0x375): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::Envelope(void)’:
soap_envelope.o(.text+0x5b1): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::setHeader(esoap::Header *)’:
soap_envelope.o(.text+0x6ad): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o)(.text+0x781): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::setFloat(float)': . . . soap_parameter.o(.text+0x1e55): undefined reference to std::terminate(void)’
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::addString(char const *, char const *)': soap_parameter.o(.text+0x1f29): undefined reference to std::terminate(void)’
soap_parameter.o(.text+0x1f7d): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o): In function esoap::Parameter::setString(char const *)’:
soap_parameter.o(.text+0x2125): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o)(.text+0x2179): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
`esoap::Parameter::setDouble(double)’:
.
.
.
collect2: ld returned 1 exit status
make[1]: *** [get_temp] Error 1
make: *** [all] Error 2


I find the function in “/usr/include/exception” include, but I couldn’t
find the library.

Any idea.

Regards

Leandro Medina
(Ingdesi Group - R&D)



\

cburgess@qnx.com

Leandro Medina <lmedina@ingdesi.com> wrote:

Thanks Colin!

I have another question, Where finite() and isnan() functions are?.

They are in the math library, libm.so

Colin

Best Regards

Leandro Medina



“Colin Burgess” <> cburgess@qnx.com> > wrote in message
news:9nnv9p$ibd$> 1@nntp.qnx.com> …
HI Leandro. The std::terminate function is in the libcpp.so (or libcpp.a)
library,
so if you add a -lcpp to you link line, it will be found.

Colin

Leandro Medina <> lmedina@ingdesi.com> > wrote:
Hi,
I’m porting the esoap library and I have a problem with
str::termiante(void) function. The linker doesn’t found this function.
But I
don’t use std::terminate(void) in my source code. When I compile the
linker
shows this message:

obj/get_temp.o(.text+0x375): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::Envelope(void)’:
soap_envelope.o(.text+0x5b1): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::setHeader(esoap::Header *)’:
soap_envelope.o(.text+0x6ad): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o)(.text+0x781): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::setFloat(float)': . . . soap_parameter.o(.text+0x1e55): undefined reference to std::terminate(void)’
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::addString(char const *, char const *)': soap_parameter.o(.text+0x1f29): undefined reference to std::terminate(void)’
soap_parameter.o(.text+0x1f7d): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o): In function esoap::Parameter::setString(char const *)’:
soap_parameter.o(.text+0x2125): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o)(.text+0x2179): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
`esoap::Parameter::setDouble(double)’:
.
.
.
collect2: ld returned 1 exit status
make[1]: *** [get_temp] Error 1
make: *** [all] Error 2


I find the function in “/usr/include/exception” include, but I couldn’t
find the library.

Any idea.

Regards

Leandro Medina
(Ingdesi Group - R&D)



\

cburgess@qnx.com


cburgess@qnx.com

Super Thanks!


“Colin Burgess” <cburgess@qnx.com> wrote in message
news:9no8mu$np1$1@nntp.qnx.com

Leandro Medina <> lmedina@ingdesi.com> > wrote:
Thanks Colin!

I have another question, Where finite() and isnan() functions are?.

They are in the math library, libm.so

Colin

Best Regards

Leandro Medina


“Colin Burgess” <> cburgess@qnx.com> > wrote in message
news:9nnv9p$ibd$> 1@nntp.qnx.com> …
HI Leandro. The std::terminate function is in the libcpp.so (or
libcpp.a)
library,
so if you add a -lcpp to you link line, it will be found.

Colin

Leandro Medina <> lmedina@ingdesi.com> > wrote:
Hi,
I’m porting the esoap library and I have a problem with
str::termiante(void) function. The linker doesn’t found this
function.
But I
don’t use std::terminate(void) in my source code. When I compile the
linker
shows this message:

obj/get_temp.o(.text+0x375): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::Envelope(void)’:
soap_envelope.o(.text+0x5b1): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o): In function esoap::envelope::setHeader(esoap::Header *)’:
soap_envelope.o(.text+0x6ad): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_envelope.o)(.text+0x781): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::setFloat(float)': . . . soap_parameter.o(.text+0x1e55): undefined reference to std::terminate(void)’
…/…/src/obj/libesoap.a(soap_parameter.o): In function
esoap::Parameter::addString(char const *, char const *)': soap_parameter.o(.text+0x1f29): undefined reference to std::terminate(void)’
soap_parameter.o(.text+0x1f7d): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o): In function esoap::Parameter::setString(char const *)’:
soap_parameter.o(.text+0x2125): undefined reference to
std::terminate(void)' ../../src/obj/libesoap.a(soap_parameter.o)(.text+0x2179): more undefined references to std::terminate(void)’ follow
…/…/src/obj/libesoap.a(soap_parameter.o): In function
`esoap::Parameter::setDouble(double)’:
.
.
.
collect2: ld returned 1 exit status
make[1]: *** [get_temp] Error 1
make: *** [all] Error 2


I find the function in “/usr/include/exception” include, but I
couldn’t
find the library.

Any idea.

Regards

Leandro Medina
(Ingdesi Group - R&D)



\

cburgess@qnx.com


\

cburgess@qnx.com