我用VS2005学习写程序,其中有一个API的程序代码如下:
#include <windows.h>
#include <commctrl.h>
#include "resource.h"
BOOL CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
InitCommonControls();
}
break; case WM_CLOSE:
{
EndDialog(hWnd,0);
}
break;
}
return 0;
}int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
HINSTANCE hInst=hInstance;
DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DialogProc,0);
return 0;
}
可是我建项目的时候,无论是空项目,还是win 32项目, 编译器都提示error LNK2019: 无法解析的外部符号 __imp__InitCommonControls@0,该符号在函数 "int __stdcall DialogProc(struct HWND__ *,unsigned int,unsigned int,long)" (?DialogProc@@YGHPAUHWND__@@IIJ@Z) 中被引用
请问应该建个什么项目才能正常使用呢?
#include <windows.h>
#include <commctrl.h>
#include "resource.h"
BOOL CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
InitCommonControls();
}
break; case WM_CLOSE:
{
EndDialog(hWnd,0);
}
break;
}
return 0;
}int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
HINSTANCE hInst=hInstance;
DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DialogProc,0);
return 0;
}
可是我建项目的时候,无论是空项目,还是win 32项目, 编译器都提示error LNK2019: 无法解析的外部符号 __imp__InitCommonControls@0,该符号在函数 "int __stdcall DialogProc(struct HWND__ *,unsigned int,unsigned int,long)" (?DialogProc@@YGHPAUHWND__@@IIJ@Z) 中被引用
请问应该建个什么项目才能正常使用呢?
Commctrl.lib
建win32的
然后把 Commctrl.lib link到你的工程里,在project setting里面设一下
LINK : fatal error LNK1104: 无法打开文件“Commctrl.lib”
能说的具体点吗?
LINK : fatal error LNK1104: 无法打开文件“Commctrl.lib”
lib库的路径配置
谢谢