У меня есть исполняемый файл и динамическая библиотека (.so). Библиотека экспортирует некоторые символы, и исполняемый файл успешно ее вызывает. Но я хочу сделать возможным библиотечный вызов исполняемых функций. Я пытался сделать следующее в исполняемом файле:
//test
extern "C" void print(const char * str) {
std::cout << str << std::endl;
}
и это в библиотеке:
extern "C" void print(const char *);
, но когда я вызываю dlopen
в исполняемом файле (для загрузки библиотеки), он возвращает ошибку undefined symbol: print
. как я могу это исправить?