LNK2019:未解析的符号

LNK2019: Unresolved symbol

我正在尝试编译一些代码以在 windows 上呈现不属于我的应用程序的内容。我想使用 DirectX 9 来实现这一点,但由于某种原因,链接器错误现在让我很痛苦。

我将我所有的库都包含在一个 .h 文件中(请参阅下面的 main.h)。

现在我将这个 .h 文件包含在我拥有的所有其他 .h 文件中,以便在任何地方使用它。有时我只包含一个包含我的主文件的 .h 文件。

现在的问题是,当我转到任何 class 我想在其中使用 DirectX(包含 .h 文件)时,我收到 LNK2019 错误。

auto hResult = Direct3DCreate9Ex( D3D_SDK_VERSION, &this->m_pDirect3D9Ex );

Direct3DCreate9Ex 出错

对应的.h文件包含主.h文件的方式如下:

#ifdef _MSC_VER
#pragma once
#endif

#include "main.h"

main.h(完成):

#pragma once
#endif

#include <Windows.h>
#include <iostream>
#include <vector>
#include <memory>
#include <chrono>
#include <thread>

#include <d3d9.h>
#include <d3dx9.h>
#include <dwmapi.h>
#pragma comment( lib, "d3d9.lib" )
#pragma comment( lib, "d3dx9.lib" )
#pragma comment( lib, "dwmapi.lib" )

#endif

这甚至在使用 VisualStudio 编译时也有效,但我需要使用 cl.exe 来实现。当我将所有内容移出 VisualStudio 后尝试构建它时,出现未解析的符号错误。

我将不胜感激我能得到的任何帮助,我已经在这上面浪费了时间。

编辑:错误

您在命令行上指向 64 位 DirectX 库。您需要使用 32 位库。