c++ - LNK2019 : Unresolved symbol

标签 c++ symbols

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

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

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

现在的问题是,当我去任何我想在其中使用 DirectX 的类(class)(包含 .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 后尝试构建它时,出现未解析的符号错误。

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

编辑:错误

Errormessage

最佳答案

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

关于c++ - LNK2019 : Unresolved symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33583341/

相关文章:

c++ - 允许函数指针类型的模板参数接受任何返回类型的函数

C++字符串匹配(主机名和端口)

C# 相当于 Ruby 符号

c++ - 创建 C++ Redis 模块 - "does not export RedisModule_OnLoad() symbol"

c++ - 在全局命名空间中使用变量

c++ - 每当我按下一个键时,如何在 1 个对象上应用照明颜色 C++

python - C++ 中的递归生成器

assembly - 在古代 NASM 版本 (0.98.39) 中,常见符号报告为 'redefined'

api - Yahoo Finance API 股票/股票代码查找只允许完全匹配

debugging - Microsoft Windows 调试工具中的符号?