неустранимая ошибка LNK1104: не удается открыть файл ‘d3dc9.lib’

#visual-studio-2010 #dll #linker #directx #directx-9

#visual-studio-2010 #dll #компоновщик #directx #directx-9

Вопрос:

В настоящее время я просматриваю книгу по программированию игр и пытаюсь скомпилировать некоторый код directx9

У меня есть новейший DirectX11 SDK, и код содержит следующие строки кода

 #pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9.lib")
  

Но я получаю
ССЫЛКА: неустранимая ошибка LNK1104: не удается открыть файл ‘d3dc9.lib’

Я не знаю, как настроить его для поиска этого файла, хотя на самом деле я не понимаю, почему он запрашивает его, поскольку он не находится внутри файла Lib для DirectX 11 SDK и не является тем, что я просил.

Ответ №1:

Компоновщик знает только имя файла .файл lib, он не знает, в каком каталоге он хранится. Проект Свойства, компоновщик, Общие, настройка дополнительных каталогов библиотеки.

SDK версии 11 довольно новый. Вам может понадобиться более старая версия SDK, если они .библиотеки больше не распространяются. Я знаю, что они есть в выпуске за июнь 2010 года. Загрузка здесь.

Комментарии:

1. Я загрузил июньскую версию 2010 года, но, оказывается, это то, что у меня все равно было. Я физически не могу найти файл d3dc9.lib в папке SDK. Где это должно быть? Это не на C:Program Файлы Microsoft DirectX SDK (июнь 2010) Библиотека x86

2. Вы правы, у меня там тоже нет файла d3dc9.lib, только d3d9.lib и d3dx9.lib. Я выбрал ваш фрагмент, а не заголовок вашего вопроса. Нет реальной идеи, что может означать «dc» или откуда оно взялось. Вы неправильно вводите имя?

3. Нет, он действительно жалуется на d3dc9.lib, и он действительно не существует, не могу найти никаких ссылок на него в моем собственном коде, который я пытаюсь скомпилировать, я пытался выполнить поиск по всему проекту в поисках любой ссылки на него и не могу ее найти.

4. Ну, есть два разных хита Google для «d3dc9.lib», ты лучший. Оба с моим именем на нем, удручает. Решена 2-я ошибка, но мне придется бросить полотенце на это.

5. Это было действительно глупо с моей стороны, у меня была внешняя зависимость, и я допустил там опечатку. Я запустил новый проект, просто добавил код в основной, а затем он заработал, вообще не меняя настройки.