- 论坛徽章:
- 0
|
1. I used RH9.0 Linux
2. I have these files: a.cxx b.c a.h
3. a.xx :
int my_main( void) {}
a.h
int my_main(void);
b.c
#include "a.h"
int main( void)
{
my_main();
return 0;
}
4. I compile it as below
g++ -c -g a.cxx
ld -shared -o libAA.so a.o
gcc -I. -c -g b.c
ld a.o b.o, it complain that :
ld: warning: cannot find entry symbol _start; defaulting to 08048074
a.o(.text+0xf): In function `my_main()':
/tmp/a.cxx:8: undefined reference to `printf'
b.o(.text+0x11): In function `main':
/tmp/b.c:6: undefined reference to `my_main'
5. why ? thank you. |
|