在Visual Studio 2008中,将一个非托管的C++项目引用到另一个非托管的C++项目中。

3

我正在开发一个需要使用C++的神经网络项目。我正在使用Flood神经网络库。我想在一个未管理的C++项目中使用神经网络库,我的目标是从另一个项目中创建Flood库中类对象的实例。

有关如何引用未管理的C++项目来自C#项目的文档很多,但是没有足够的信息说明如何引用一个C++项目。与我在C#中所做的方式相似,我将Flood项目作为引用添加到其他项目中,但我尝试了各种技术来处理该对象。我尝试使用#include指令引用头文件,但是这会给出错误提示,说我需要实现头文件中声明的方法。

如何在未管理的C++中添加引用并处理类对象?

2个回答

2

是的,你需要做两件事:

  1. 像你所做的那样,#include 相应的头文件。
  2. 添加引用(Visual C++支持两种类型,“依赖项”已经过时,不再使用,而“引用”是正确的)。使用它们来引用其他项目,这些项目必须是您解决方案的一部分。也就是说,在这种情况下,您必须能够编译其他项目。

或者,如果您没有源代码,或者由于其他原因您不希望编译第三方代码,您还可以引用已编译的二进制文件。最好的方法是使用 pragma comment lib。如果您需要这样做,请发表评论,我将编辑我的回复。


1
谢谢你的帮助。我创建了一个测试解决方案并成功让引用工作起来了。我将我的类库创建为"静态库(.lib)",然后在控制台应用程序中添加了对该项目的引用。接着,我将类库的包含目录添加到了控制台项目中。最后,我使用#include语句来引用我想要使用的类,并且一切都顺利进行。我很愿意分享我的解决方案,但是我在这里找不到上传文件的位置。 - Nick Ruiz
@NickRuiz 太棒了,我连续两天都在寻找这个。然而,在我的情况下,我是将一个非托管库(.lib)包含在托管库(.dll)中,然后从 C# 应用程序中使用它。 - Arman Bimatov

1

从提供的vcproj文件来看,洪水分布非常奇怪,并且生成了一个exe文件。

因此,在您自己的项目中使用Flood的支持方式不是通过两个项目(即您的应用程序和“libflood”项目)- 而只需将所有Flood cpp文件添加到您自己的项目并构建即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接