我有一个DLL,在Visual C#中没有问题(简单地添加引用和使用名称空间),现在我正在尝试学习C++,但我不知道如何从DLL引用命名空间。 我可以右键单击项目并选择“引用”,然后从那里单击“添加新引用”,但这只会为我提供一个空的“项目”窗口。 我漏掉了什么?
我有一个DLL,在Visual C#中没有问题(简单地添加引用和使用名称空间),现在我正在尝试学习C++,但我不知道如何从DLL引用命名空间。 我可以右键单击项目并选择“引用”,然后从那里单击“添加新引用”,但这只会为我提供一个空的“项目”窗口。 我漏掉了什么?
当涉及到处理DLL引用时,C++与C#/VB.Net有很大不同。在C#中,只需使用DLL即可引用,因为它包含描述其中的结构的元数据。编译器可以读取此信息,以便从另一个项目中使用。
C ++没有像C#那样在DLL中具有元数据的概念。相反,您必须明确提供头文件形式的元数据。这些文件包含在您的C ++项目中,然后在运行时延迟加载DLL。在C++中,您实际上不是“添加引用”,而是包括一个头文件。
一旦包含了头文件,您就可以通过将其包含在CPP文件中来访问名称空间。
using namespace SomeNamespace;
编辑:如果你正在使用非托管的 C++,那么之前的回答可能更有帮助;由于参考了 C#,我认为你是在使用托管的 C++。
'添加引用'对话框应该有一系列选项卡 - '项目' 列出当前解决方案中的项目;.NET 列出安装在 GAC 中的库,而'Browse'让您自己查找 DLL。
如果您只想添加对 DLL 的引用,您应该可以通过 'Browse' 完成。如果它是您拥有源代码的项目的输出,请将该项目添加到解决方案中,并将其显示在“项目”选项卡下。
如果这无法帮助您,请告诉我们您使用的 Visual Studio 版本以及要使用的 DLL 的位置和名称。