Dear all ,
I have one shared library in "/usr/lib/ast/mod/quad.so"
where the functions "X1" and "X2" are defined.
In header file "quad.h" it is declared.
I have created a "test.c" where X1 and X2 are called
I have used the following commads for compiling and linking
#gcc -c test.c
#gcc -o test.o -L. -Wl,-rpath,/usr/lib/ast/mod/quad.so
i am getting the error:
undefined reference to X1
undefined refernece yo X2
what all things i have to do to make a proper linking
|
Mentor
|
![]() |
| 19Dec2008,13:54 | #2 |
|
Change the commas to spaces.
|
|
Newbie Member
|
|
| 19Dec2008,14:21 | #3 |
|
i tried with spaced but now unrecoginised command is coming.
test.c ----------- #include <stdio.h> #include <quad.h> int main(void) { X1 (); X2 (); return 0; } quad.h ----------- extern void X1 (); void X2 (); |
|
Mentor
|
![]() |
| 19Dec2008,15:57 | #4 |
|
What happens if you just try gcc test.c -o test /usr/lib/ast/mod/quad.so
|
|
Newbie Member
|
|
| 19Dec2008,16:30 | #5 |
|
I used that and i got lot of undefined references errors are coming.
when i use this i got only one undefined reference error. |
|
Mentor
|
![]() |
| 19Dec2008,16:39 | #6 |
|
No idea then, unless you fancy letting me know what errors you get.
|
|
Newbie Member
|
|
| 19Dec2008,18:18 | #7 |
|
the errors coming are:
#gcc -o test test.o /usr/lib/ast/mod/quad.so /usr/lib/asterisk/modules/quad.so: undefined reference to `csel_get_next' /usr/lib/asterisk/modules/quad.so: undefined reference to `ast_cli_register_multiple' /usr/lib/asterisk/modules/quad.so: undefined reference to `ast_tv' /usr/lib/asterisk/modules/quad.so: undefined reference to `ast_pbx_start' /usr/lib/asterisk/modules/quad.so: undefined reference to `cm_load' like this lot of errors are coming. if usee the option which I posted first i got test.o: In function `main': test.c:(.text+0x12): undefined reference to `X1' test.c:(.text+0x26): undefined reference to `X2' collect2: ld returned 1 exit status |

