【发布时间】:2023-03-05 03:36:01
【问题描述】:
由于某种原因,我收到了“无法解析的外部符号”错误,我就是不知道为什么..
它抱怨“__snprintf”、“__sprintf”和“__vsnprintf”,尽管我什至没有使用它们。.
编译器图片:
如您所见,我使用的是 d3dx9.lib 这些是我的包含和库:
#include <Windows.h>
#include <iostream>
#include <stdio.h>
#include "d3d9.h"
#include "d3dx9.h"
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
我使用 printf 的唯一代码:
void v_DrawText(int X, int Y, D3DCOLOR Color, ID3DXFont *font, const char* sText, ...)
{
char sText_[1024] = "";
va_list ap;
if (!sText || *sText == '\0')
return;
va_start(ap, sText);
_snprintf_s(sText_, 1024, 1023, sText, ap);
va_end(ap);
RECT Position = { X, Y, X + 500, Y + 50 };
font->DrawText(NULL, sText_, -1, &Position, DT_LEFT | DT_WORDBREAK, Color);
}
我已经尝试从地面重建解决方案,重新下载库,直接将其添加到链接器中......但没有。就是不行。。
项目配置(根据要求):
【问题讨论】:
-
请显示您的项目配置。
-
那个 SDK 目录看起来很糟糕,
%28。尝试将其更改为Program Files (x86)。如果您在启动新项目时遇到同样的问题,那么您需要修复您的 SDK 安装。 -
看起来它没有链接到正确的库。它是否链接到 msc++ 运行时?
-
是的。 @DTSCode
-
没有任何区别。 @MicroVirus
标签: c++ visual-studio-2015 unresolved-external lnk2001 d3dx