【发布时间】:2013-09-08 22:33:21
【问题描述】:
我使用 VS2012 编写了一个 com dll。我有 2 个项目——我的 DLL 项目和一个 PS 项目。 PS有3个类: myproj_i.h myProj_i.c myProj_p.c
现在我想从另一个 MFC 项目中调用 dll:
hr = CoCreateInstance( CLSID_MYTASK, NULL, CLSCTX_INPROC_SERVER, IID_IMYTASK, (void**) &pMYTASK );
我已包含 myproj_i.h 文件 - 所以我可以识别所有符号,但我无法链接它们,因为我缺少 _i.c 文件。
如果我将它们添加到项目中,我会遇到大量 PCH 错误。
我应该如何链接我的 MFC 项目并调用 DLL?
我也尝试过使用 dll 的#import,但后来我得到了缺少 TLH 错误,并且我在 DLL 项目中没有找到该文件。
包含 myProjPS.lib 也没有解决...
【问题讨论】:
-
特定编组场景需要 PS 项目,很有可能您根本不需要它。如果你这样做了,也许值得更好地解释最终目标。最简单的包含是使用
#import,看看there - code snippet。 -
我尝试导入,但在查找我没有的 .tlh 文件时出现错误...我可能不需要它,它就在那里,所以我使用了它。我在 mfc 和 atl dll 之间传递字符串和 long,仅此而已。
标签: c++ visual-studio-2012 com mfc atl