Windows下 DirectX SDK 配置检验
在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:
第一步:将 项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”。
第二步:一般计算机经过上步设置就能解决问题了,但是如果还有问题,那就按一下方法解决:
查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,重命名较旧的版本
经过这个两个步骤一定可以解决error LNK1123错误
前言
首先 Windows 游戏开发的重要环节, DerictX SDK 的使用, 主要是熟悉官方的 Sample 和 熟悉 Windows API, DerictX API;
安装注意事项
一般来说 VS 的版本尽量2010+, DirectX SDK 的版本选择就是 DirectX SDK_June10
下载链接 : https://www.microsoft.com/en-us/download/details.aspx?id=6812
VS 版本众多不加赘述。
安装概况
一路下一步;
安装位置默认 C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)
配置说明
下面这个内容主要是个文档记载, 可以存储下来修改对应的安装路径即可。
头文件和包的设置很容易理解, 第三步的目的 <附加依赖项 > 以后就可以不用手动添加库了 Pragma comment(lib, ‘d3dx9.lib’)。
Properties > VC++ Directories -> include Directories
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\IncludeProperties > VC++ Directories -> Library Directories
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86Properties -> Linker -> input -> Additional Dependencies -> (++)
d3d9.lib
d3dx10d.lib
d3dx9d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib
检验配置
建立一个win32 控制台的空程序, 接着附上如下代码
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\
C++\Direct3D\Tutorials\Tut01_CreateDevice\CreateDevice.cpp 的代码放在Resouce文件下的 source.cpp(手动new出来的) 中。
常见错误处理
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
LNK2019 处理
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
解决方法: Linker -> system > windows
LNK1107 处理
解决方法: <可能出现这个错误>
项目–>项目属性–> 配置属性 –> 清单工具 –> 使用FAT32解决方法为 是;
LNK1123 处理
项目–>工程属性->配置属性-> 清单工具->输入和输出->嵌入清单,选择[否]
项目–>项目属性–>配置属性–>清单工具–> 使用FAT32解决方法为 [是] ; // 可以不配置这个选项。
后记
windows 开发是个长远的路程, 错误出现的频率也是非常多, 但是尽管如此,我们仍然要愈战愈勇;
API 永远是关键, 学好英语多看API, 这样很多错误就能实时避免和理解, 免得出错后, 即使改过来了也是治标不治本, 下次相似的错误还是会犯, 又去搜, 效率极低。
== END ==
附件 souce.cpp 创建环境的代码
#include <d3d9.h>
#pragma warning( disable : 4996 ) // disable deprecated warning
#include <strsafe.h>
#pragma warning( default : 4996 )LPDIRECT3D9 g_pD3D = NULL; // Used to create the D3DDevice
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // Our rendering deviceHRESULT InitD3D( HWND hWnd )
{if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )return E_FAIL;D3DPRESENT_PARAMETERS d3dpp;ZeroMemory( &d3dpp, sizeof( d3dpp ) );d3dpp.Windowed = TRUE;d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp, &g_pd3dDevice ) ) ){return E_FAIL;}return S_OK;
}VOID Cleanup()
{if( g_pd3dDevice != NULL )g_pd3dDevice->Release();if( g_pD3D != NULL )g_pD3D->Release();
}VOID Render()
{if( NULL == g_pd3dDevice )return;g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 0, 0, 255 ), 1.0f, 0 );if( SUCCEEDED( g_pd3dDevice->BeginScene() ) ){g_pd3dDevice->EndScene();}g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
}LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{switch( msg ){case WM_DESTROY:Cleanup();PostQuitMessage( 0 );return 0;case WM_PAINT:Render();ValidateRect( hWnd, NULL );return 0;}return DefWindowProc( hWnd, msg, wParam, lParam );
}INT WINAPI wWinMain( HINSTANCE hInst, HINSTANCE, LPWSTR, INT )
{UNREFERENCED_PARAMETER( hInst );WNDCLASSEX wc ={sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L,GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,L"D3D Tutorial", NULL};RegisterClassEx( &wc );HWND hWnd = CreateWindow( L"D3D Tutorial", L"D3D Tutorial 01: CreateDevice",WS_OVERLAPPEDWINDOW, 100, 100, 300, 300,NULL, NULL, wc.hInstance, NULL );if( SUCCEEDED( InitD3D( hWnd ) ) ){ShowWindow( hWnd, SW_SHOWDEFAULT );UpdateWindow( hWnd );MSG msg;while( GetMessage( &msg, NULL, 0, 0 ) ){TranslateMessage( &msg );DispatchMessage( &msg );}}UnregisterClass( L"D3D Tutorial", wc.hInstance );return 0;
}
Windows下 DirectX SDK 配置检验相关推荐
- 关于windows下的libtorch配置
关于windows下的libtorch配置 1.环境 Windows service 2012 R2/Windows10 Cuda 9.0 OpenCV3.4.1 Libtorch1.0 VS2017 ...
- 基于svnserve的SVN服务器(windows下安装与配置)
基于svnserve的SVN服务器(windows下安装与配置) 关键字: svn 安装SVNserve 从http://subversion.tigris.org/servlets/ProjectD ...
- Mongodb在windows下配置文件的配置
Mongodb在windows下通过配置文件配置和访问 博客分类: Mongodb 数据库 mongomongodbwindows配置 Mongodb配置文件配置: 第一步:在"D:\Mon ...
- myeclipse怎么运行c语言,windows下MyEclipse安装配置C/C++开发环境
windows下MyEclipse安装配置C/C++开发环境 ,安装MinGW:假设安装路径为c:\MinGW 编辑如下系统变量: 变量名变量值 PATH C:\MinGW\bin; LIBRARY_ ...
- 读取串口 :javax.comm 2.0 windows下Eclipse的配置
javax.comm 2.0 windows下Eclipse的配置 要在Windows下,对计算机的串口或并口等进行编程,可以选择使用Java Communication API (ja ...
- Mongodb在windows下通过配置文件配置和访问
Mongodb在windows下通过配置文件配置和访问 博客分类: Mongodb 数据库 mongomongodbwindows配置 Mongodb配置文件配置: 第一步:在"D:\Mon ...
- Windows下MySql主从配置实战教程
Windows下MySql主从配置实战教程 MySql的主从配置教程 主库MySql的安装 1.MySQL的下载 2.MySQL配置文件的编写 3.初始化数据库 4.安装服务 5.启动MySql 6. ...
- Windows下PySpark的配置
Windows下PySpark的配置 环境: hadoop-2.7.4 spark-2.4.3-bin-hadoop2.7 jdk-1.8 hadooponwindows Anaconda3 pyth ...
- Windows下PVM的配置与编程实践
关键词:PVM,Windows,配置,编程 作者:丁玲,韩君,李元香 概述:PVM是一个综合的软件工具与库的集合,它是仿效基于互联的各种体系结构的计算机一个多用途的.灵活的.异构并发计算框架.在Win ...
- GTSAM在windows下安装,配置,简单调试
GTSAM在windows下安装,配置,简单调试 BOOST安装配置 GTSAM安装配置 安装 配置 GTSAM简单调试 代码分析1 代码分析2 模型分析和结果展示 BOOST安装配置 链接: boo ...
最新文章
- 10只机器狗拉卡车!井然有序,毫不费力 | 极客头条
- 使用python下载文件_详解使用Python下载文件的几种方法
- 按照姓名升序排序的代码_干货:6种EXCEL排序方法,让老板对你刮目相看
- anaconda 安装在c盘_最省心的Python版本和第三方库管理——初探Anaconda
- UE4 编译虚幻引擎
- Java匹马行天下之学编程的起点——编程常识知多少
- AD7124驱动代码(基于GD32F103 SPI)
- 百度离线地图下载器+开发Demo(街道、路网、卫星瓦片图)
- [2.1]-AutoSAR零基础学习-汽车电子控制系统简介
- 【跨境电商学习指南】
- 关于cosine_similarity参数的问题
- win配置前端开发环境
- 七年级计算机上册知识题,Word综合应用复习七年级信息技术上册教案
- 华为鸿蒙电池,华为重拳出击,120Hz+鸿蒙OS+5000mAh大电池,还有6000万五摄
- vue project vlog
- 蚂蚁金服 CTO 程立新加坡演讲:小蚂蚁是如何“爬”上区块链的?
- 品达通用_9. pd-tools-log
- matlab的符号变量sym,syms
- Sulfo-Cyanine5 dUTP(脱氧尿苷三磷酸)三磷酸盐是Cy5 dUTP的类似物
- vue 项目中使用three.js实现vr360度全景图片预览