Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Unresolved external пр экспорте 
:(
    Опции темы
jhonyxakep
Дата 21.9.2011, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Здрасьте smile 

Писал небольшой HelloWorld с использованием amxAPI.

В Visual C++ все работает идеально, при попытке написать на билдере возникло много мистических проблем:

Экспорт функции из Dll выполняся с помощью небольшого макроса PLUGIN_EXPORT

Экспорт функции
Код

PLUGIN_EXPORT int PLUGIN_CALL AmxLoad( AMX *amx )


макрос

Код


#ifdef __cplusplus
  #define PLUGIN_EXTERN_C extern "C"
#else
  #define PLUGIN_EXTERN_C 
#endif

#if defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD__) || defined(__OpenBSD__)
  #ifndef __GNUC__
    #pragma message "Warning: Not using a GNU compiler."
  #endif
  #define PLUGIN_CALL 
  #ifndef SAMPSVR
    // Compile code with -fvisibility=hidden to hide non-exported functions.
    #define PLUGIN_EXPORT PLUGIN_EXTERN_C __attribute__((visibility("default")))
  #else
    #define PLUGIN_EXPORT PLUGIN_EXTERN_C 
  #endif
#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
  #ifndef _MSC_VER
    #pragma message "Warning: Not using a VC++ compiler."
  #endif
  #define PLUGIN_CALL __stdcall
  #define PLUGIN_EXPORT PLUGIN_EXTERN_C
#else
  #error "You must define one of WIN32, LINUX or FREEBSD"
#endif


Насколько я понимаю в моем случае будет использоваться строчки 

Код

  #define PLUGIN_CALL __stdcall
  #define PLUGIN_EXPORT PLUGIN_EXTERN_C



Увы функция не появляется в списке экспорта (хотя в VC++ все ОК)

попробовал по старинке

Код

extern "C" __declspec(dllexport) int __stdcall AmxLoad( AMX *amx )


в результате ликер фыркнул:

Код

[ILINK32 Error] Error: Unresolved external 'amx_FindPublic' referenced from C:\USERS\ADMIN\DESKTOP\PASCAL MOD\PLUGIN\BCBB\DEBUG\WIN32\MAIN.OBJ
... И так все функции из API


Вопрос: Что за?

ЗЫ Совместимости включать пробовал, NO EFFECT.
ЗЫЗЫ У разработчиков АПИ все успешно компилилось на 6ом билдере.

PM MAIL ICQ   Вверх
Dem_max
Дата 21.9.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



а где исходный код этой функции amx_FindPublic ????


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.