Nền tảng phát triển của tôi là các cửa sổ 7 x64. Tôi đã cài đặt VS2012 và tôi muốn biên dịch một dự án bao gồm một số mã Dx11.d3dx11.h không có trong bộ Windows 8.0
Cụ thể, nó bao gồm các tập tin sau đây:
#include <d3dx11.h>
#include <d3dx10.h>
và liên kết đến
#pragma comment (lib, "d3dx11.lib")
#pragma comment (lib, "d3dx10.lib")
Tôi đã có cài đặt VS2011 trên máy phát triển của tôi, nhưng tôi muốn thử các cơ sở kiểm tra đơn vị trong VS2012 cho native C++.
Do VS2011 được cài đặt và làm việc trên mã DirectShow, tôi đã cài đặt Windows 7.1 SDK.
VS2012 chọn này lên và có tham chiếu đến 7.1 SDK, nhưng lập dự án của tôi dưới VS2012 với 7.1 SDK tham chiếu cho các lỗi:
"warning C4005: '__useHeader' : macro redefinition"
Tôi googled này và thấy a query like mine on social.msdn.microsoft.com. và giải pháp đề nghị liên kết với bộ Windows 8 thay vì 7.1 SDK để giải quyết vấn đề này.
Bộ Windows 8 bao gồm các tiêu đề như d3d11.h, nhưng không phải d3dx11.h.
Làm cách nào để bao gồm d3dx11 (từ SDK Dx) cùng với bộ Windows 8 nhưng không nhận được nhiều lỗi "định nghĩa lại macro"?
Đồng ý, đặc biệt là khi tất cả sách hiện tại trên DirectX11 sử dụng rộng rãi d3dx11.h, sự điên rồ! – JMK