如何在C ++中调用来自不同Project的方法?

时间:2011-04-15 09:30:13

标签: c++ visual-c++ reference

我通常在c#中工作,所以c ++中的某些东西让我很困惑(它们看起来很不同但名字几乎相同)

我创建了一个Console项目,我想在其中运行一个不同的项目用于测试目的。我添加了项目作为控制台应用程序的参考,然后陷入困境。

项目中没有命名空间,所以我无法使用,如果我尝试包含其他文件,则无法找到它(我想避免无法通过它进行调试)。

可以找到类的代码here(忽略c#部分),控制台只是一个没有任何内容的标准控制台。

2 个答案:

答案 0 :(得分:3)

是的,C ++没有C#和.NET中存在的程序集的概念。它使得这样的任务变得更加困难,这是C ++直接编译为本机代码的优点。

相反,您通常会#include代码文件顶部的必要头文件(*.h),并指示链接器链接到相应的.lib文件(s )。通过转到项目的属性,选择链接器 - >来做到这一点。输入,并将文件添加到“附加依赖项”部分。

作为链接到.lib文件的替代方法,如果它是同一解决方案的一部分,则可以使用Visual Studio添加对其他项目的引用。微软有walk-through on creating and using a dynamic link library in C++可能值得一读。

答案 1 :(得分:2)

我假设您正在使用Visual Studios :-)。你必须告诉 编译器在哪里寻找它的包含。视觉下 工作室,打开项目的属性页面,然后转到 配置属性 - > C / C ++ - >一般,并添加必要的 条目附加包含目录中的目录。 (如果 另一个项目在同一个解决方案中,使用相对路径。 但我认为当你点击时弹出的对话框 右侧的按钮会自动执行此操作。我不是很棒 一般来说,所有这些GUI的粉丝,但微软似乎 我已经很好地完成了这个特殊的部分。)

一旦你完成了这个,你可能需要经历类似的事情 链接过程:这次是在配置下 属性 - >链接器 - >常规,该条目称为附加 图书馆目录,但原则是一样的。 (这可能 没有必要,如果你把所有的dll和 项目中的可执行文件位于同一目录中。)