Problem using sin() in "QNX C Application Project"

Hi,

I’m using Momentics 6.2.1, with an QNX standard makefile in an QNX C
Application Project (not C++). Now I have a problem, using the math.h
command sin(). The compiler terminates with the error: undefined reference
to `_Sin’. (it’s the same with cos(), sinh()…)
What can I do? Can anybody help me? I appended the source-code and the
compiler output.

Thanks,

Daniel



#include <stdlib.h>
#include <stdio.h>
#include <math.h>

int main(int argc, char *argv[])
{
float sinValue;
sinValue = sin(2.1); //ERROR OCCURED: undefined reference to `_Sin’
printf("%f\n",sinValue);
return EXIT_SUCCESS;
}

/*
make CPULIST=x86 -k
make -j 1 -Cx86 -fMakefile
make[1]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86' make -j 1 -Co -fMakefile ; make -j 1 -Co-g -fMakefile make[2]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86/o’
/usr/bin/qcc -Vgcc_ntox86 -c -Wc,-Wall -Wc,-Wno-parentheses -O -DNDEBUG -I.
-I/fs/hd1-dos/Projekte/Newsgroup/x86/o -I/fs/hd1-dos/Projekte/Newsgroup/x86
-I/fs/hd1-dos/Projekte/Newsgroup -I/usr/include
/fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c
/bin/rm -f /fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup
/usr/bin/qcc -Vgcc_ntox86 -o/fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup
Newsgroup.o -L. -L/x86/lib -L/x86/usr/lib
Newsgroup.o: In function main': Newsgroup.o(.text+0x18): undefined reference to _Sin’
cc: /usr/bin/ntox86-ld error 1
make[2]: *** [/fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup] Error 1
make[2]: Target first' not remade because of errors. make[2]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86/o’
make[2]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86/o-g' /usr/bin/qcc -Vgcc_ntox86 -c -Wc,-Wall -Wc,-Wno-parentheses -I. -I/fs/hd1-do s/Projekte/Newsgroup/x86/o -I/fs/hd1-dos/Projekte/Newsgroup/x86/o-g -I/fs/hd 1-dos/Projekte/Newsgroup/x86 -I/fs/hd1-dos/Projekte/Newsgroup -I/usr/include -g -DVARIANT_g /fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c /bin/rm -f /fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup_g /usr/bin/qcc -Vgcc_ntox86 -o/fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup _g Newsgroup.o -L. -L/x86/lib -L/x86/usr/lib -g Newsgroup.o: In function main’:
/fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c:8: undefined reference to _Sin' cc: /usr/bin/ntox86-ld error 1 make[2]: *** [/fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup_g] Error 1 make[2]: Target first’ not remade because of errors.
make[2]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86/o-g' make[1]: *** [all] Error 2 make: *** [all] Error 2 make[1]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86’
*/

You need to link with libm.so … someone else will have to indicate
how to achieve this with the IDE.

Regards.

Daniel <daniel-grimm@gmx.de> wrote:

Hi,

I’m using Momentics 6.2.1, with an QNX standard makefile in an QNX C
Application Project (not C++). Now I have a problem, using the math.h
command sin(). The compiler terminates with the error: undefined reference
to `_Sin’. (it’s the same with cos(), sinh()…)
What can I do? Can anybody help me? I appended the source-code and the
compiler output.

Thanks,

Daniel



#include <stdlib.h
#include <stdio.h
#include <math.h

int main(int argc, char *argv[])
{
float sinValue;
sinValue = sin(2.1); //ERROR OCCURED: undefined reference to `_Sin’
printf("%f\n",sinValue);
return EXIT_SUCCESS;
}

/*
make CPULIST=x86 -k
make -j 1 -Cx86 -fMakefile
make[1]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86' make -j 1 -Co -fMakefile ; make -j 1 -Co-g -fMakefile make[2]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86/o’
/usr/bin/qcc -Vgcc_ntox86 -c -Wc,-Wall -Wc,-Wno-parentheses -O -DNDEBUG -I.
-I/fs/hd1-dos/Projekte/Newsgroup/x86/o -I/fs/hd1-dos/Projekte/Newsgroup/x86
-I/fs/hd1-dos/Projekte/Newsgroup -I/usr/include
/fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c
/bin/rm -f /fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup
/usr/bin/qcc -Vgcc_ntox86 -o/fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup
Newsgroup.o -L. -L/x86/lib -L/x86/usr/lib
Newsgroup.o: In function main': Newsgroup.o(.text+0x18): undefined reference to _Sin’
cc: /usr/bin/ntox86-ld error 1
make[2]: *** [/fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup] Error 1
make[2]: Target first' not remade because of errors. make[2]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86/o’
make[2]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86/o-g' /usr/bin/qcc -Vgcc_ntox86 -c -Wc,-Wall -Wc,-Wno-parentheses -I. -I/fs/hd1-do s/Projekte/Newsgroup/x86/o -I/fs/hd1-dos/Projekte/Newsgroup/x86/o-g -I/fs/hd 1-dos/Projekte/Newsgroup/x86 -I/fs/hd1-dos/Projekte/Newsgroup -I/usr/include -g -DVARIANT_g /fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c /bin/rm -f /fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup_g /usr/bin/qcc -Vgcc_ntox86 -o/fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup _g Newsgroup.o -L. -L/x86/lib -L/x86/usr/lib -g Newsgroup.o: In function main’:
/fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c:8: undefined reference to _Sin' cc: /usr/bin/ntox86-ld error 1 make[2]: *** [/fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup_g] Error 1 make[2]: Target first’ not remade because of errors.
make[2]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86/o-g' make[1]: *** [all] Error 2 make: *** [all] Error 2 make[1]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86’
*/

Derek Leach <dleach@dleach.qnx.com> wrote:

You need to link with libm.so … someone else will have to indicate
how to achieve this with the IDE.

Regards.

If you are just using the common.mk stuff, you just need to
add:

LIBS=m

Daniel <> daniel-grimm@gmx.de> > wrote:
Hi,

I’m using Momentics 6.2.1, with an QNX standard makefile in an QNX C
Application Project (not C++). Now I have a problem, using the math.h
command sin(). The compiler terminates with the error: undefined reference
to `_Sin’. (it’s the same with cos(), sinh()…)
What can I do? Can anybody help me? I appended the source-code and the
compiler output.

Thanks,

Daniel



#include <stdlib.h
#include <stdio.h
#include <math.h

int main(int argc, char *argv[])
{
float sinValue;
sinValue = sin(2.1); //ERROR OCCURED: undefined reference to `_Sin’
printf("%f\n",sinValue);
return EXIT_SUCCESS;
}

/*
make CPULIST=x86 -k
make -j 1 -Cx86 -fMakefile
make[1]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86' make -j 1 -Co -fMakefile ; make -j 1 -Co-g -fMakefile make[2]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86/o’
/usr/bin/qcc -Vgcc_ntox86 -c -Wc,-Wall -Wc,-Wno-parentheses -O -DNDEBUG -I.
-I/fs/hd1-dos/Projekte/Newsgroup/x86/o -I/fs/hd1-dos/Projekte/Newsgroup/x86
-I/fs/hd1-dos/Projekte/Newsgroup -I/usr/include
/fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c
/bin/rm -f /fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup
/usr/bin/qcc -Vgcc_ntox86 -o/fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup
Newsgroup.o -L. -L/x86/lib -L/x86/usr/lib
Newsgroup.o: In function main': Newsgroup.o(.text+0x18): undefined reference to _Sin’
cc: /usr/bin/ntox86-ld error 1
make[2]: *** [/fs/hd1-dos/Projekte/Newsgroup/x86/o/Newsgroup] Error 1
make[2]: Target first' not remade because of errors. make[2]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86/o’
make[2]: Entering directory /fs/hd1-dos/Projekte/Newsgroup/x86/o-g' /usr/bin/qcc -Vgcc_ntox86 -c -Wc,-Wall -Wc,-Wno-parentheses -I. -I/fs/hd1-do s/Projekte/Newsgroup/x86/o -I/fs/hd1-dos/Projekte/Newsgroup/x86/o-g -I/fs/hd 1-dos/Projekte/Newsgroup/x86 -I/fs/hd1-dos/Projekte/Newsgroup -I/usr/include -g -DVARIANT_g /fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c /bin/rm -f /fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup_g /usr/bin/qcc -Vgcc_ntox86 -o/fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup _g Newsgroup.o -L. -L/x86/lib -L/x86/usr/lib -g Newsgroup.o: In function main’:
/fs/hd1-dos/Projekte/Newsgroup/Newsgroup.c:8: undefined reference to _Sin' cc: /usr/bin/ntox86-ld error 1 make[2]: *** [/fs/hd1-dos/Projekte/Newsgroup/x86/o-g/Newsgroup_g] Error 1 make[2]: Target first’ not remade because of errors.
make[2]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86/o-g' make[1]: *** [all] Error 2 make: *** [all] Error 2 make[1]: Leaving directory /fs/hd1-dos/Projekte/Newsgroup/x86’
*/