机子里有Directx9 和 Directx11, Directx11是安装到系统里面的并配置了环境变量,而Directx9是rar文件解压放在机器里的。
写了个工程,包含了静态库文件
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
错误 1 error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 "void __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAXPAUHWND__@@@Z) 中被引用
包含文件文件:
#include <ddraw.h>
#pragma comment(lib, "ddraw.lib")
报错误找不到 ddraw.lib。到Directx11里面寻找确实没有发现 ddraw.lib 。在 Directx9里存在。包含Directx9路径,编译通过。
注:1、Directx9 和 Directx11 里面都包含了 d3d9.lib 和 d3dx9.lib
2、Directx9里面包含ddraw.lib, Directx11里面不包含
机子里有Directx9 和 Directx11, Directx11是安装到系统里面的并配置了环境变量,而Directx9是rar文件解压放在机器里的。 写了个工程,包含了静态库文件#pragma comment(lib, "d3d9.lib")#pragma comment(lib, "d3dx9.lib") 错误:错误 1 error LNK2019: 无法
LNK2019:
无法
解析
的
外部
符号
Direct3D
Create
9@4,该
符号
在函数 “void cdecl InitD3D(struct> HWND *)” (?InitD3D@@YAXPAUHWND_@@@Z) 中被引用
解决方法:
在 Visual studio 中的 项目/属性/配置属性/连接器/输入/附加依赖项 中添加以下文件名:
d3dx9.lib
d3dxof.lib
出现如下错误:
error LNK2019:
无法
解析
的
外部
符号
_
Direct3D
Create
9@4,该
符号
在函数 "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAJPAUHWND__@@@Z) 中被引用
包含库,要用x86的
<br />最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:
(.text+0x13): undefined reference to `func' <br /> 关于undefined reference这样的问题,网上也有很多的说法,在此,我以详细地示例给出其中的各种原因说明以及解决方法,然后再给出我所遇到的与大家均不同的问题。<br />1. 链接时缺失了相关目标文件(.o)<br /> 测试代码如下:<br />