C++ c+中的链接错误+&;DirectX文件包含问题
我有两个头文件: DirectX\u引擎.hC++ 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
#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;