2011-02-08 12 views
18

Edit: Tất nhiên, ngay sau khi làm việc trên nó trong một giờ sau đó đăng ở đây, tôi thấy sai lầm ngu ngốc ...không mở Có thể bao gồm tập tin "d3dx9.h"

tôi nhận được lỗi biên dịch khi đang cố gắng để #include <d3dx9.h> trong một dự án. Tôi nhận được "lỗi nghiêm trọng C1083: Không thể mở bao gồm tệp: 'd3dx9.h': Không có tệp hoặc thư mục nào".

  • Tôi đã cài đặt SDK DirectX (Tôi cũng vừa thử cài đặt lại nó không có sẵn).
  • Trong Properties dự án:
    • VC++ Thư mục được thiết lập để "$(DXSDK_DIR)Include;$(IncludePath)" và "$(DXSDK_DIR)Lib\x86;$(LibraryPath)" cho Include và thư mục Library tương ứng cho tất cả các cấu hình — và biến môi trường %DXSDK_DIR% điểm để C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\ như mong đợi.
    • C++> Cài đặt C/General đã $(DXSDK_DIR)include liệt kê trong bổ sung bao gồm Thư mục
    • Linker> Input> Dependencies bổ sung đã d3dx9d.lib bao gồm cho Debug và d3dx9.lib bao gồm cho cấu hình phát hành.
  • I am có thể biên dịch và chạy thành công các dự án hướng dẫn từ Trình duyệt mẫu DirectX.
  • Intelliisense/autocomplete của Visual Studio sẽ tìm thấy d3dx9.h và đề xuất tên và chức năng nằm trong tệp (và không bao gồm bất kỳ thứ gì khác tôi là #include ing) để có vẻ như Intellisense có thể tìm thấy nó.

Bất kỳ đề xuất nào về những gì tôi quên hoặc thử những gì khác?

Cảm ơn

+0

Thêm câu trả lời bằng những gì bạn đã làm và chọn câu trả lời. Xóa bỏ những nỗ lực mà Liviu đã giúp đỡ bạn. – Will

+0

Ok. Tôi đã không chắc chắn nếu trả lời câu hỏi của riêng tôi là hình thức xấu. Sẽ làm. – chaosTechnician

Trả lời

4

Tôi đã không nhận ra rằng một trong những dự án khác trong giải pháp là #include nhập một tệp là #include nhập một tệp là #include ing d3dx9.h và tôi đã không thêm các đường dẫn đó vào dự án đó.

/Facepalm

6

Bạn nên chắc chắn rằng bạn có ALL đường sorounded bởi dấu ngoặc kép ("). Thay vì $(DXSDK_DIR)include bạn nên có "$(DXSDK_DIR)include"

+3

Sự hiểu biết của tôi là VS2010 không yêu cầu báo giá xung quanh đường dẫn; nhưng, một trong hai cách, thêm dấu ngoặc kép không khắc phục được. – chaosTechnician

12

bạn quên một điều:

  1. Đến VC++ Thư mục -> Thư viện Thư mục
  2. thêm $(DXSDK_DIR)LIB\x86
  3. áp dụng.

Xong. Hy vọng điều này sẽ giúp

+1

Tôi nghĩ rằng ông đã đề cập đến ông đã bao gồm thư mục thư viện rồi. – Hazok

0

Tôi đã thử tất cả các đề xuất này và không có đề xuất nào hoạt động.

Biến biến $ (DXSDK_DIR) không hoạt động nếu bạn cài đặt DirectX trong khi Visual Studio vẫn đang chạy.Giải pháp cho tôi là khởi động lại Visual Studio (+ thêm các đường dẫn trong các giải pháp được liệt kê ở trên, tất nhiên).