Я пытаюсь создать оболочку для Direct3D9 для быстрого и легкого использования DirectX 9 в моем собственном приложении.Все отлично компилируется, за исключением одной и единственной функции "Direct3DCreate9".Если я прокомментирую эту функцию, то все остальные функции Direct X будут компилироваться просто отлично.Я скачал SDK (как я уже много раз) с веб-сайта Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=6812.
Я попытался связать d3d9.lib внутри настроек проекта для Visual Studio.Я попытался с помощью компоновщика комментариев #pragma #pragma comment (lib, "d3d9.lib")
Не могу найти аналогичных проблем в Интернете.Я могу найти только те вопросы, которые могут быть связаны с библиотекой.
bool D3D9::Initialize(HWND i_hWnd)
{
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow = i_hWnd;
// If I comment this line out, it compiles fine
m_pD3D = Direct3DCreate9(D3D_SDK_VERSION); // LINKER ERROR
HRESULT hr = m_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, i_hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &m_pDevice);
return true;
}
Когда я закомментирую строку кода, вызывающую Direct3DCreate9
, я ожидаю, что со всеми остальными D3D возникнут ошибки компоновщикавызывает сам Direct3DDevice.Но как только я прокомментирую одну строку, проблем с компиляцией не возникнет.
Я использую Visual Studio 2015 в Windows 10.