”d3d9.lib d3dx9.lib dxguid.lib winmm.lib” はリンクしてあります。ファイルも存在しています。
LIBリンク場所、INCLUDE場所は設定してあります。
知恵袋などで調べましたが、解決できません。教えてください。
<環境>
コンパイラ: Microsoft Visual C++ 2008 Express Edition
OS: Windows Vista Home Basic SP2
SDK: June 2010
<エラーメッセージ>
リンクしています...
XXX.obj : error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数_WinMain@16 で参照されました。
C:\Users\XXX\Desktop\Game\Debug\XXX.exe : fatal error LNK1120: 外部参照 1 が未解決です。
エラーログは。。。に保存されました
XXX - エラー 2、警告 0
<ソースコード>
#include <windows.h>
#include <d3d9.h>
#include <d3dx9.h>
#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9.lib")
HWND hwnd;
MSG msg;
WNDCLASS winc;
LPDIRECT3D9 g_pD3D = NULL;
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL;
D3DPRESENT_PARAMETERS d3dpp;
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg, WPARAM wp , LPARAM lp) {
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd , msg , wp , lp);
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR lpCmdLine,int nCmdShow) {
winc.style = CS_HREDRAW | CS_VREDRAW;
winc.lpfnWndProc = WndProc;
winc.cbClsExtra = winc.cbWndExtra = 0;
winc.hInstance = hInstance;
winc.hIcon = LoadIcon(NULL , IDI_APPLICATION);
winc.hCursor = LoadCursor(NULL , IDC_ARROW);
winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
winc.lpszMenuName = NULL;
winc.lpszClassName = TEXT("GAME");
if (!RegisterClass(&winc)) return -1;
hwnd = CreateWindow(TEXT("GAME"),TEXT("Game"),WS_MINIMIZEBOX | WS_SYSMENU | WS_VISIBLE,100,100,640,480,NULL,NULL,hInstance,NULL);
if (hwnd == NULL) return -1;
// ↓でエラー
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
g_pD3D -> CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hwnd,D3DCREATE_HARDWARE_VERTEXPROCESSING,&d3dpp, &g_pd3dDevice);
g_pd3dDevice -> SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE);
// ↑↑↑↑↑DirectX9 Graphics 初期化↑↑↑↑↑
while (GetMessage(&msg , NULL , 0 , 0)) DispatchMessage(&msg);
return msg.wParam;
}