В VS2005 я использовал соглашение о вызове _cdecl и проект строился без каких-либо ошибок компоновщика. После того, как я изменил соглашение о вызове на _stdcall при переносе проекта на VS2008, я получаю следующую ошибку:Изменение соглашения о вызове от cdecl до stdcall
ошибка LNK2001: неразрешенный внешний символ __imp__GCBOpen @ 8.
Настройки конфигурации> C \ C++> Genral> Поддержка Common Language Runtime установлена значением Нет поддержки общей языковой среды
Мне нужна помощь в отношении каких-либо настроек проекта или изменений коды, которые необходимо сделать для того, чтобы решить эту проблему , Любая помощь приветствуется.
Thankyou за ответ. Это решило проблему. У меня все еще есть вопрос. Поскольку GCBOpen является импортированной функцией, объявление функции должно иметь ключевое слово «extern». Почему код компилировался без указания «extern», когда соглашение о вызове __cdecl? – Lakshmi
'extern' предполагается для объявлений функций, которые не являются' static', поэтому вам не нужно явно указывать его. Я не знаю, почему я продолжаю писать это в своих собственных заявлениях ... –