Para usar as funções da DLL você precisa exportar as funções da DLL.
No código da dll adicione isto antes do tipo da função que deseja que seja exportada
__declspec(dllexport)
Após ter criado a Dll já com as funções preparadas para serem usadas por outros programas você pode fazer isso de duas maneiras("Que eu conheço") o jeito mais usado é fazendo o que o membro acima disse, adicionando o arquivo .lib ao projeto.
Supondo que esta é a função que eu criei dentro da dll e quero usar em outro programa.
__declspec(dllexport) int somarNumeros(int x, int y)
{
return x + y;
}
Para usar basta incluir o arquivo .lib no projeto e depois fazer o seguinte.
#include <iostream>
#include <windows.h>
using namespace std;
__declspec(dllimport) int somarNumeros(int x, int y);
int main()
{
int soma = somarNumeros(5, 3);
cout << "A soma de 5 e 3 e: " << soma << endl;
return 0;
}
Caso não queira usar o arquivo .lib também da para fazer da seguinte maneira.
#include <iostream>
#include <windows.h>
using namespace std;
#typedef int(__stdcall* somarnumeros)(int x, int y);
somarnumeros iSomarNumeros;
int main()
{
HMODULE minhaDLL = (HMODULE)LoadLibrary("NomeDaDLL.dll");
iSomarNumeros = (somarnumeros)GetProcAddress((HMODULE)minhaDLL, "somarNumeros");
int soma = iSomarNumeros(5, 3);
cout << "A soma de 5 e 3 e: " << soma << endl;
return 0;
}