我是新来的,世界好!

我正在用C++进行一个大项目。
我正在使用Visual Studio 2015 Ultimate RC。

我在相同的解决方案中有2个项目:

MyProgram和MyProgram.Input
就像这样:

MyProgram.Input中的Mouse.h:

#include "SDL.h"

class Mouse
{
public:
    int x, y;
    void Update();
}

Mouse::Update()
{
SDL_GetMouseState(&x, &y);
}

MyProgram.Input已包含SDL2,并且编译良好!

因此,我将MyProgram.Input包含到MyProgram中。
MyProgram是控制台应用程序,当我在MyProgram中包含“Mouse.h”并进行编译时,出现以下错误:找不到包含文件:“SDL.h”

我想从MyProgram项目的控制台中的MyProgram.Input获取鼠标输入。

SDL.h是来自MyProgram.Input的文件,而不是来自MyProgram!

最佳答案

您不能通过项目而是通过驱动器上的路径来引用.h include。您需要为所有项目中的所有项目创建一个公用文件夹,将当前的.h移至该文件夹,所有新的.h都将添加到其中,这必须与解决方案路径相关,并转到您需要的项目此文件夹中的include文件并打开其属性,然后添加include目录,该目录类似于$(SolutionDir)\ Includes,其中Includes是包含.h文件的目录。现在您可以将其包含在多个项目中,我们使用这种方式。

另一种方法是使用像

#include "../MyProgram.Input/SDL.h"

关于c++ - Visual C++:无法打开包含文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30312380/

10-12 15:46