G
guy_next_door
Grünschnabel
libtest.c:
libtest.h:
test.C:
Wenn ich das ganze kompilieren will:
gcc - fPIC -c libtest.c
ld -shared -soname libtest.so -o libtest.so -lc libtest.o
g++ -L. -Wall test.C -ltest -o test
bei der dritten Zeile die Fehlermeldung:
/tmp/cc8YTDWO.o: In function `main':
test.C.text+0x5): undefined reference to `runTest()'
collect2: ld returned 1 exit status
nm libtest.so ergibt:
0000000000200ea8 a _DYNAMIC
0000000000200fe8 a _GLOBAL_OFFSET_TABLE_
0000000000201008 A __bss_start
0000000000201008 A _edata
0000000000201008 A _end
U puts@@GLIBC_2.2.5
0000000000000328 T runTest
g++ bzw. gcc Version ist 4.2.1
GNU ld Version ist 2.17.50.0.5
Das ganze läuft unter OpenSuse 10.2
Code:
#include <stdio.h>
#include "libtest.h"
void runTest()
{
printf("Test\n");
}
Code:
#ifndef _LIBTEST_H_
#define _LIBTEST_H_
void runTest();
#endif
Code:
#include "libtest.h"
int main(){
runTest();
}
Wenn ich das ganze kompilieren will:
gcc - fPIC -c libtest.c
ld -shared -soname libtest.so -o libtest.so -lc libtest.o
g++ -L. -Wall test.C -ltest -o test
bei der dritten Zeile die Fehlermeldung:
/tmp/cc8YTDWO.o: In function `main':
test.C.text+0x5): undefined reference to `runTest()'
collect2: ld returned 1 exit status
nm libtest.so ergibt:
0000000000200ea8 a _DYNAMIC
0000000000200fe8 a _GLOBAL_OFFSET_TABLE_
0000000000201008 A __bss_start
0000000000201008 A _edata
0000000000201008 A _end
U puts@@GLIBC_2.2.5
0000000000000328 T runTest
g++ bzw. gcc Version ist 4.2.1
GNU ld Version ist 2.17.50.0.5
Das ganze läuft unter OpenSuse 10.2
Zuletzt bearbeitet: