LINUX.ORG.RU

g++ __declspec(dllexport)

 


0

1

Пытаюсь экспортировать функцию:

string __declspec(dllexport) namef (string src) {
//...
}
но монодевелоп пишет:
нет декларации dllexport в этой области
expected "," or ";" before "namef"
в монодевелоп как компилятор выставлен g++, чего ему не хватает?


Ответ на: комментарий от Reset

нет, не под винду, под линукс, но мне нужно из этой c++ библиотеки вызывать функции, вызывать в сишарпном проекте.

makeB
() автор топика

Разобрался, делаем так, в начале файла:

#if __GNUC__ >= 4
#define DLL_PUBLIC __attribute__ ((visibility("default")))
#define DLL_LOCAL  __attribute__ ((visibility("hidden")))
#else
#define DLL_PUBLIC
#define DLL_LOCAL
#endif
и нужные функции так:
extern "C" DLL_PUBLIC string namef ( string src ) {
//...
}

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

по дефолту все функции экспортируются

Reset ★★★★★
()

Стесняюсь спросить, а почему параметр не по «const string &» ?

P.S. хотя если extern.. ладно, снимается вопрос :)

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.