Для того, чтобы можно было пользоваться функциями расположенными в динамической библиотеке их нужно объявлять с ключевым словом __declspec(dllexport), например: void __declspec(dllexport) MyFunc(), а вот в проекте, к которому будет подключен dll файл, следует, придерживаться данному правилу объявления импортируемых функций: void __declspec(dllimport) MyFunc(). Для наглядности я опишу процесс создания библиотеки dll и её использования.
В качестве примера запихаем в dll функцию сложения двух чисел. Для начала объявим прототип функции сложения в заголовочном файле header.h:
int __declspec(dllexport) Sum(int a, int b);
И реализуем в файле DllMain.cpp:
#include <windows.h> #include "header.h" bool APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return true; } int __declspec(dllexport) Sum(int a, int b) { return a + b; }