может уже просто поздно и я устал? но сам я больше идей не имею
target_1 my_lib.so
собирается так
g++ -c -o my_lib.o my_lib.cpp -Imy_lib/inc -g
gcc -shared -o my_lib.so my_lib.o -L. -lpthread
все пучком
tagret_2 пускач
# должен брать одну функцию из библиотеки
# брать в смысле ссылаться (без dlopen и пр.)
g++ -c -o exec.o exec.cpp -Imy_lib/inc -g
g++ -o exec exec.o my_lib.so -L.
ругается на udefined reference в main
а в main я вызываю библиотечную функцию my_foo которая обюъявлена так
//lib.h
extern "C" int vla_bla(int arg);
//my_lib.cpp
#include "lib.h"
int vla_bla(int arg)
{return 0;}
смотрю objdump -t my_lib.so
а ьам имя декорировано всякой куйней...
вопрос:
1. почему имя функции декорированно (не смотря на extern "C")?
2. как сделать, чтоб работало? (простите за моветон)
чего я уже попробовал - разные объвления - результат одинаковый
у меня gcc 3.2 (linux 2.4.18 RH8.0)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум undefined reference (2008)
- Форум undefined reference !??? (2000)
- Форум OpenCV - undefined reference (2016)
- Форум undefined reference to (2020)
- Форум mingw32 undefined reference (2011)
- Форум GCC undefined reference (2006)
- Форум ошибка undefined reference (2005)
- Форум undefined reference to... (2001)
- Форум htpasswd.o....undefined reference (2001)
- Форум MD5Init undefined reference (2006)