第一种方式,静态连接:需要lib和dll文件。楼上的说的那个设置就是设置lib文件地址。如果不想在编译器里设置,可以进行代码里写: #pragma comment(lib, "my.lib")
第二种方式,直接动态加载dll,不需要lib文件,方法如下
typedef int (__cdecl *MYPROC)(LPWSTR); //这个定义根据你dll里的函数进行参数设置。参数要一至
MYPROC myfun;
HMODULE h = LoadLibrary("my.dll");
myfun = (MYPROC)GetProcAddress(hinstLib, "myPuts"); //写上dll里边那个函数名称
然后就可以直接调用 了。
最后FreeLibrary(h);
你好。你要调用别的库的话之需要做如下两件事情
1:添加include 路径
Project->Settings->C++ ->Preprocessor
在 additional include directory 中添加你要加载的库的对应include文件夹 的路径
2:添加lib路径
Project->Settings->Link
在General 中 object library modules 中填写 你要加载的库的 对应 .lib文件名
在INPUT中 object library modules 中填写 你要加载的库的 对应 .lib文件名
additional library path 填写对应的库的路径
当然,你的库对应的.lib文件 和 .dll 文件要在同一个目录下。
多谢采纳。
动态连接:
typedef int (WINAPI ICEPUB_SAVESCREEN)(char *bmpFile);
ICEPUB_SAVESCREEN *icePub_saveScreen = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_saveScreen=(ICEPUB_SAVESCREEN *)GetProcAddress(hDLLDrv,"icePub_saveScreen");
}
if(icePub_saveScreen)
icePub_saveScreen("screen.bmp");
if(hDLLDrv)
FreeLibrary(hDLLDrv);
静态连接:
extern "C"
{
__declspec(dllexport)
int WINAPI icePub_regionGifFileDisp(HWND mHwmd,char *strGifFilename,int regionFlag=1);
}
#pragma comment(lib,"icePubDll.lib")
icePub_regionGifFileDisp(m_hWnd,"xiaoya.gif");