Использование обычной библиотеки dll с общей библиотекой MFC

У меня есть обычная dll с общей dll mfc. он был построен на vc++ 6.0. Я хочу использовать его в приложении windows form vc++ 2008.он имеет файл заголовка, lib и dll.
Я добавляю некоторые строки из указанных заголовочных файлов

   #ifdef   DLLBUILD
   #define  DLLFUNC   extern "C" __declspec(dllexport) WINAPI
   #else
   #define  DLLFUNC   extern "C" __declspec(dllimport) WINAPI
   #endif 

   DLLFUNC int SC06StepInit(void)

Когда я добавляю этот заголовок, он показывает несколько ошибок одного типа

ошибка C2144: синтаксическая ошибка: ‘int’ должен предшествовать ‘;’
ошибка
C4430: отсутствует спецификатор типа-предполагается int. Примечание: C++ не делает
поддержка по умолчанию-int

ошибка запуска из строки DLLFUNC int SC06StepInit(void)во все строки, начинающиеся с одного имени DLLFUNC. У меня нет идеи о запуске любой функции с именем, чем возвращаемый тип и чем снова имя.

Исходный код этой dll также имел все функции таким же образом.

Я хочу знать. Как называется этот способ определения функции и для использования таких библиотек.

1 ответ

  1. Попробовать это:

    #ifdef   DLLBUILD
    #define  DLLFUNC   extern "C" __declspec(dllexport)
    #else
    #define  DLLFUNC   extern "C" __declspec(dllimport)
    #endif 
    
    DLLFUNC int SC06StepInit(void);
    

    Вы слишком много пытаетесь в макро:

    • extern » C»
    • Атрибут импорта/экспорта DLL
    • WINAPI спецификация

    Ограничивать его. Узнайте, как экспортировать функцию и кто является клиентом библиотеки DLL.