我正在尝试使用 ChooseColor 在 C++ 中创建一个颜色对话框 DLL。虽然每次我构建我都会遇到问题
1>ChooseColorDLL.obj : error LNK2019: unresolved external symbol __imp_ChooseColorA referenced in function "void __cdecl ShowMyDialog(char *)" (?ShowMyDialog@@YAXPEAD@Z)
这是我的 DLL 中的 .cpp 文件:
#include "stdafx.h"
#include "ChooseColorDLL.h"
#include <commdlg.h>
#include <fstream>
#include <iostream>
CHOOSECOLORDLL_API void ShowDialog(char* i)
{
static COLORREF colorrefCustomColours[16] = {0} ;
CHOOSECOLOR cc;
cc.hwndOwner = NULL; //No Owner
cc.hInstance = NULL;
cc.rgbResult = RGB(0,0,0);
cc.lpfnHook =NULL;
cc.Flags = CC_SOLIDCOLOR | CC_PREVENTFULLOPEN;
cc.lpCustColors = colorrefCustomColours;
cc.lpTemplateName = NULL;
cc.lCustData = NULL;
cc.lStructSize = sizeof(cc);
// Seperate Colors
ChooseColor(&cc);
}
选择ColorDLL.h:
#ifdef CHOOSECOLORDLL_EXPORTS
#define CHOOSECOLORDLL_API __declspec(dllexport)
#else
#define CHOOSECOLORDLL_API __declspec(dllimport)
#endif
CHOOSECOLORDLL_API void ShowDialog(char* i);