visual c ++:#在同一解决scheme中包含来自其他项目的文件

我正在使用Visual C ++进行游戏。 我在单独的项目中有一些组件,并设置了项目依赖关系。 我如何从一个不同的项目中包含头文件? 我不知道如何使用另一个项目中的类。

编译器的设置

在要从其他项目中包含头文件的项目中,需要将头文件的path添加到项目configuration中的“ 附加包含目录”部分。

要访问项目configuration:

  1. 用鼠标右键单击该项目,然后select属性。
  2. selectconfiguration属性 – > C / C ++ – >常规。
  3. 在其他包含目录下设置path。

如何包括

包含头文件 ,只需在代码中写下以下内容:

#include "filename.h" 

请注意,您不需要在此处指定path,因为您已经将目录包含在其他包含目录中,因此Visual Studio将知道在哪里查找它。

如果你不想在项目设置中添加每个头文件的位置,你可以包括一个目录到一个点,然后#include相对于这个点:

 // In project settings Additional Include Directories ..\..\libroot // In code #include "lib1/lib1.h" // path is relative to libroot #include "lib2/lib2.h" // path is relative to libroot 

设置链接器

如果使用静态库(即.lib文件),则还需要将库添加到链接器input,以便在链接时可以链接符号(否则您将得到一个未解决的符号):

  1. 用鼠标右键单击该项目,然后select属性。
  2. selectconfiguration属性 – >链接器 – >input
  3. 在附加依赖关系下input库。

#include与项目无关 – 它只是告诉预处理器“把头文件的内容放在这里”。 如果你给它一个指向正确位置的path(可以是一个相对path,比如../your_file.h),它将被正确包含。

但是,为了使这样的项目正确链接,你必须学习库(静态/dynamic库),但这是另一个问题。

您需要在项目属性中设置标题的path,以便编译器在尝试查找标题文件时在那里查找。 我不记得确切的位置,但看看虽然项目属性,你应该看到它。

尽量避免#include指令中的完整path引用,无论它们是绝对还是相对。 相反,将其他项目的包含文件夹的位置添加到您的项目设置中。 必要时只在path引用中使用子文件夹。 这样,不必更新代码就可以轻松移动。