我使用MSVC 2010创建了一个默认的ATL项目,其中包含一个简单的默认ATL对话框.然后我将第二个项目添加到解决方案中,命名为MyControls,我在Wizard的帮助下创建了ATL DHTML Control.然后我将ATL DHTML Control放到ATL对话框中.
现在我想在ATL对话框的OnInitDialog函数中调用ATL DHTML控件的一些方法.为了能够像这样打电话:
CComPtr<IDHTMLControl> ptr;
HRESULT hr = GetDlgControl(IDC_ACTIVEX_CONTROL_DHTML
, IID_IDHTMLControl, (void**)&ptr);
Run Code Online (Sandbox Code Playgroud)
我从MyControls项目中包含了DHTMLControl.h文件.但是,我收到以下错误:
注意:我似乎错误地链接了MyControls.lib,但是,我在Linker-> General-> Additional Library Directories中将MyControls.lib添加到Linker-> Input-> Additonal Dependencies&指定../$(Configuration).
有人有想法吗?谢谢!
问题与您如何将一个项目与另一个项目链接有关.这里缺少一些东西,因为你没有显示代码,它只是一个纯粹的猜测.
在控制项目你有一个类型库,它,正在兴建时,也产生文件MyControls_i.h,MyControls_i.c,MyControls_p.c.我想在应用程序项目中,您包含了_i.h将符号声明为外部的_i.c文件,并且您没有包含实际定义的符号的文件.