C++ c+中的链接错误+&;DirectX文件包含问题

C++ c+中的链接错误+&;DirectX文件包含问题,c++,visual-studio-2010,directx,C++,Visual Studio 2010,Directx,我有两个头文件: DirectX\u引擎.h #pragma once #include "Main.h" #include <d3d9.h> #pragma once #include <Windows.h> #include "DirectX_Engine.h" int imRunning = 1; 当#includeing“d3dx9.h”时,我还收到一个“文件未找到或目录不存在错误”。有什么想法吗?两个想法。首先,在Main.h中包含DirectX_引擎.h

我有两个头文件:

DirectX\u引擎.h

#pragma once
#include "Main.h"
#include <d3d9.h>
#pragma once
#include <Windows.h>
#include "DirectX_Engine.h"

int imRunning = 1;

#include
ing“d3dx9.h”时,我还收到一个“文件未找到或目录不存在错误”。有什么想法吗?

两个想法。首先,在
Main.h
中包含
DirectX_引擎.h
,在
DirectX_引擎.h
中包含
Main.h
。这显然行不通

其次,
intimrunning
被包含到包含
Main.h
的每个.cpp文件中,编译器将其视为一个定义。然后链接器出现,看到在每个文件中定义的
imRunning
,不知道该怎么办。解决方案是使用extern:

Main.h
中:

extern int imRunning;
在其中一个.cpp文件中:

int imRunning = 1;

d3dx9.h不附带VS或平台SDK。您需要返回MSDN下载并获取DirectX SDK。

噢!非常感谢。:)哦,你知道DirectX文件丢失了吗?你安装了DirectX SDK吗?如果是,请检查DX SDK include和lib目录是否添加到搜索路径中。
int imRunning = 1;