LINUX.ORG.RU

А в чём проблема? Если хотите экспортировать символы из cpp объекта в c, то нужно экспортируемые функция поместить в блок export "C" {}.

krum
()
Ответ на: комментарий от krum

b.c: int main () { test (); return 0; }

a.cc: void test () { printf ("AAA\n"); }

gcc -c a.c g++ -c b.cc g++ a.o b.o b.o(.text+0x11): In function `main': : undefined reference to `test()' collect2: ld returned 1 exit status

anonymous
()
Ответ на: комментарий от anonymous

krum@krum:~$ cat b.c
int main () { test (); return 0; }
krum@krum:~$ cat a.cc
#include <stdio.h>
extern "C" {
void test();
}
void test () { printf ("AAA\n"); }
krum@krum:~$ g++ -c a.cc
krum@krum:~$ gcc -c b.c
krum@krum:~$ g++ a.o b.o
krum@krum:~$ ./a.out
AAA

krum
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.