Как определить функции extern "C" в моем файле c ++? - PullRequest
0 голосов
/ 21 июня 2020

У меня есть библиотека .so, которую я хочу связать с кодом C ++. В файле .so есть функция с именем add, которая учитывает интерфейс C (объявлен как extern «C»). У меня нет файла .h, поэтому я сделал что-то вроде этого, но на Android:

#include <iostream>

extern "C" int add(int, int);
//int add(int, int);

int main()
{
  std::cout << add(1,1) << std::endl;
}

Если я использую extern "C" int add(int, int);, я получаю ошибку компиляции о том, что функция add не объявляется. Если я использую int add(int, int);, он компилируется, но связывание не удается (но это может быть по другим причинам).

Как правильно определить функцию extern C из .so?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...