我有一个名为MyKinectDll的visual studio项目,我正在编译为一个DLL。我有另一个名为MyKinectApp的项目,它是一个可执行文件。我有他们在相同的解决方案。我已经从MyKinectApp添加了一个依赖到MyKinectDll。我已将MyKinectApp的引用添加到MyKinectDll。我已将MyKinectDll的位置添加到MyKinectApp的其他包含目录中。然后在我的代码中添加#include“MyKinect.h”,它是MyKinectDll中的头文件之一,并且被识别。但是,当我编译时,只有MyKinectDll成功构建,并且MyKinectApp中的错误抱怨缺少头文件。这些头文件在MyKinect.h中被调用,并在MyKinectDll中的其他地方出现,并自行正确构建。在Visual C++中添加一个DLL作为静态库
我不确定是否需要在链接器设置中链接到MyKinectDll的.lib文件,但我已经尝试过了,并且出现同样的错误。我究竟做错了什么?
非常感谢您的帮助。
的Visual Studio版本是你在用吗?你使用'__declspec(dllexport)'从DLL导出dll函数/类吗? – 2012-01-03 14:28:02
您需要将MyKinect.h使用的所有标题的位置添加到MyKinectApp项目的其他包含目录中。 – StevieG 2012-01-03 14:31:29
@StevieG解决了它;谢谢。但是,我不明白为什么需要这一步。当然,DLL应该是独立的,不需要它的引用在主应用程序中被引用?我的意思是,如果我使用系统DLL,我不担心包含它引用的所有路径,对吗? – 2012-01-03 15:51:42