Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/54: Рейтинг темы: голосов - 54, средняя оценка - 4.70
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429

Directx10 ошибка подключения d3dx10.lib

19.01.2010, 20:22. Показов 11328. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Возникла такая проблема, при подключении d3dx10.lib выскакивает ошибка:
1>LINK : fatal error LNK1104: не удается открыть файл ''d3dx10.lib''
Вот код подключения:
C++
1
2
3
4
5
#include <d3d10.h>
#include <d3dx10.h>
 
#pragma comment(lib,"d3d10.lib")
#pragma comment(lib,"d3dx10.lib")
В самом Visual C++ я в Параметры - Проекты и решения - Каталоги VC++ добавил все необходимые ссылки на *.h и *.lib файлы.

Добавлено через 1 час 1 минуту
C++
1
2
3
4
5
#include <C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\include\d3d10.h>
#include <C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\include\d3dx10.h>
 
#pragma comment(lib,"C:\\Program Files (x86)\\Microsoft DirectX SDK (August 2009)\\Lib\\x64\\d3d10.lib")
#pragma comment(lib,"C:\\Program Files (x86)\\Microsoft DirectX SDK (August 2009)\\Lib\\x64\\d3dx10d.lib")
Пропала проблема подключения lib файла но возникла новая проблема

1>winmain.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3DX10CreateFontW@48 в функции "long __cdecl InitDirect3D10(void)" (?InitDirect3D10@@YAJXZ)
1>winmain.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3D10CreateDeviceAndSwapChain@32 в функции "long __cdecl InitDirect3D10(void)" (?InitDirect3D10@@YAJXZ)
От этого я избавился когда поменял в pragma comment изменил ссылку с 64 bit на 32 bit либы, общий результат получился такой:
C++
1
2
3
4
5
#include <C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\include\d3d10.h>
#include <C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\include\d3dx10.h>
 
#pragma comment(lib,"C:\\Program Files (x86)\\Microsoft DirectX SDK (August 2009)\\Lib\\x86\\d3d10.lib")
#pragma comment(lib,"C:\\Program Files (x86)\\Microsoft DirectX SDK (August 2009)\\Lib\\x86\\d3dx10d.lib")
Вопрос в следующем почему приходиться прописывать полный путь хотя я пути к исходникам указал уже? И почему 64 битный либы не работают?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2010, 20:22
Ответы с готовыми решениями:

За что отвечает d3d9.lib и d3dx9.lib?
В чём разница?

В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib
В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib? Я предполагал что в Direct SDK(у меня DirectX SDK 2006), однако там не...

Как в VS 2015 устранить ошибку LNK 1104 cannot open file 'fltkd.lib wsock32.lib comct132.lib fltkjpegd.lib'?
как устранить ошибку LNK 1104 в visual studio community 2015? пункта C/C++ в properties нету Можете сказать куда его перенесли или...

23
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
20.01.2010, 13:55
Цитата Сообщение от mibin Посмотреть сообщение
Здравствуйте! Возникла такая проблема, при подключении d3dx10.lib выскакивает ошибка:

Вот код подключения:
C++
1
2
3
4
5
#include <d3d10.h>
#include <d3dx10.h>
 
#pragma comment(lib,"d3d10.lib")
#pragma comment(lib,"d3dx10.lib")
В самом Visual C++ я в Параметры - Проекты и решения - Каталоги VC++ добавил все необходимые ссылки на *.h и *.lib файлы.

Добавлено через 1 час 1 минуту
C++
1
2
3
4
5
#include <C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\include\d3d10.h>
#include <C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\include\d3dx10.h>
 
#pragma comment(lib,"C:\\Program Files (x86)\\Microsoft DirectX SDK (August 2009)\\Lib\\x64\\d3d10.lib")
#pragma comment(lib,"C:\\Program Files (x86)\\Microsoft DirectX SDK (August 2009)\\Lib\\x64\\d3dx10d.lib")
Как то странно. Указывать полные пути смысла нет, как раз ради этого и делалось чтобы можно было укзать пути к подключаемым файлам.
Когда я подключал директХ (9ый но думаю без разницы) я указал пути только к x86 папке.
Подключено так
C++
1
2
3
// Библиотеки DirectX
#pragma comment (lib, "d3dx9.lib")
#pragma comment (lib, "d3d9.lib")
Уже ниже этого идут includ'ы
C++
1
2
3
4
5
// DirectX
#include <d3dx9core.h>
#include <d3d9.h>
#include <d3dx9.h>
#include <d3dx9tex.h>
Помнится у меня был случай когда я прописал папку lib там где должны быть заголовки h и наоборот)) Всякое бывает)
убедитесь что в winmain.cpp все нужное инклюдится (мб и #pragma comment. не знаю, у меня просто один stdafx.h который во все cpp влезает), ошибки линковки явно из за этого.
Интересно что ж такое...

Добавлено через 4 минуты
К тому же примеры SDK уже рабочие по идее. Так что вы всегда можете проследить логику подключения оттуда. Если и там ошибки - значит дело все таки не в коде, нужно будет думать.
1
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
20.01.2010, 22:15  [ТС]
Наконец-то хоть кто-то заинтересовался проблемой, СПАСИБО Вам большое! И так...
Помнится у меня был случай когда я прописал папку lib там где должны быть заголовки h и наоборот)) Всякое бывает)
убедитесь что в winmain.cpp все нужное инклюдится (мб и #pragma comment. не знаю, у меня просто один stdafx.h который во все cpp влезает), ошибки линковки явно из за этого.
На счет этого получается так, первоначально я действительно ошибся с подключением, но позже перенастроил папки и все стало правильно, но изменения в работе никакого не последовало. Дело в том, что не подключаются не только lib файлы но и h тоже, корень проблемы не ясен, приходиться указывать полные пути...у меня подозрение что он просто игнорирует ссылки на необходимые папки. Вот и загадка получается.
Ниже в файла я показал подключения. Поднимал пути и вверх и вниз (не знаю откуда он начинает читать их, сверху вниз или снизу вверх) и результата никакого.

Кстати о птичках, не все файлы необходимо так подключать, вот файл d3d10.lib подключается нормально без этого...предполагаю что он еще где-то храниться кроме этого пути, просто такая же фигня была с d3d10.h но он в том месте кастрированный какой-то оказался, так что то что нужно не отрабатывало. Как только указал полный путь в необходимую папку все стало норм...мистика...
Миниатюры
Directx10 ошибка подключения d3dx10.lib   Directx10 ошибка подключения d3dx10.lib  
1
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
20.01.2010, 22:20
lib не в исполняемых файлах вроде, у меня в файлах библиотек. Не знаю как надо, но так уже давно и проблем не было никогда)
Миниатюры
Directx10 ошибка подключения d3dx10.lib  
1
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
20.01.2010, 22:29
Хм, к тому же, если добавить все нужные DLL в папку с приложением я думаю пути прописывать не нужно будет. Я так одну библиотеку подключал, но не уверен... давно было
1
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 01:01  [ТС]
А смотри в чем фигня, видишь там на фотке все пути указывают в папки под названием inlude вот в чем фокус, поэтому я сначала и указал пути не верно потому что считал что h это исполняемые файлы, а оказались включаемые (смотри вторую фотку)
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
21.01.2010, 01:36
Эээ...? На скринах ты прописал 2 разных пути. Первый неверно. Второй правильно.
Всего надо прописать 2 пути а не какой либо 1.

Первый путь который надо прописать - "\%DIRECTX_SDK%\Lib\x64" ИЛИ "\%DIRECTX_SDK%\Lib\x86". Вот его ты прописал как я понимаю не верно. Посмотри как я его подключил на скрине.

Второй путь - "\%DIRECTX_SDK%\Include". На втором твоём скрине видно верный вариант подключения. у меня так же и все ОК

Я говорю про то что если при верном подключении проблема не решилась, то вопрос либо не в правильном инклюде (везде где юзается DX нужно прописать его инклюды и возможно pragma comment lib). В принципе я подключать особо то не профи, просто у меня эта система уже давно налажена и я показываю как. =) надеюсь все получится, а если нет остается только думать не бажный ли дистибутив. Странно было бы...
1
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 11:18  [ТС]
Эээ...? На скринах ты прописал 2 разных пути. Первый неверно. Второй правильно.
Всего надо прописать 2 пути а не какой либо 1.

Первый путь который надо прописать - "\%DIRECTX_SDK%\Lib\x64" ИЛИ "\%DIRECTX_SDK%\Lib\x86". Вот его ты прописал как я понимаю не верно. Посмотри как я его подключил на скрине.

Второй путь - "\%DIRECTX_SDK%\Include". На втором твоём скрине видно верный вариант подключения. у меня так же и все ОК
БЛИН! Точно...чего-то я конкретно ступил сейчас проверю...блин...ладно свалю это на кризис и сессию ))))

Добавлено через 2 минуты
ХА! Работает...вот жешь блин Спасибо огромное даже стыдно блин, так лохануться

Добавлено через 5 минут
А ты, кстати, давно занимаешься программирование на DirectX? Или просто когда-то занимался и кинул эту затею?
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
21.01.2010, 18:03
Да ладно, всяко бывает. Самые суровые баги у меня кстати тоже были от невнимательности, когда пологаешь что уже все верно написал и даже не смотришь туда))
Насчет программирования с DirectX - занимаюсь и сейчас, потихоньку. Сессия и все такое) Жаль начал с DirecX9 сейчас наверное уже там больше фишек в 10ке) но уже поздно переходить.
К сожалению спецом назвать себя не могу, всего лишь та часть DirectX что рулит спрайтами знакома мне более или менее) Однако на форуме есть специальный раздел для программирования графики, хотя выглядит он вяло) Интересно было бы оживить его, но пока что не до этого...
1
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 19:18  [ТС]
Цитата Сообщение от insideone Посмотреть сообщение
Да ладно, всяко бывает. Самые суровые баги у меня кстати тоже были от невнимательности, когда пологаешь что уже все верно написал и даже не смотришь туда))
Насчет программирования с DirectX - занимаюсь и сейчас, потихоньку. Сессия и все такое) Жаль начал с DirecX9 сейчас наверное уже там больше фишек в 10ке) но уже поздно переходить.
К сожалению спецом назвать себя не могу, всего лишь та часть DirectX что рулит спрайтами знакома мне более или менее) Однако на форуме есть специальный раздел для программирования графики, хотя выглядит он вяло) Интересно было бы оживить его, но пока что не до этого...
Тоже сессия поэтому очень медленно продвигаюсь...раньше занимался на 8 и перешел на 9й икс, но разницы там большой на заметил, однако уже все забыл практически, когда сел за 10...есть заметные изменения и в основном пока я на сколько вижу они коснулись инициализации устройства, так что не проблема в с переходом...но проблема найти учебник, я программлю на Visual C++ а есть несколько учебников для 10 икса но написаны они под С# и ко всему прочему в инете их нет только покупать, а цена за 2000 заваливает...приходиться выкручитьвася непонятно как...хочу собрать группу людей что бы сесть и вместе долбить это, одному ужасно тяжело...до сих пор что бы что-то написать приходить в книгу смотреть...тяжело идет блин...а ни курсов ничего найти по этому делу не могу так что вот так буду действовать
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
21.01.2010, 19:46
Попов А.А. "DirectX 10 - это просто. Программируем графику на С++" ~300ру.
Отзывы хорошие, жаль не нашёл пока у нас в магазине, может закажу когда будет время нужное) А книги это хорошо, я бы не скупился на них) Знания - бесценны)

Кстати помоему долбить коллективно не так то просто, ведь для этого нужно будет вводить какие то стандарты чтобы группа не запуталась. Ну в общем вопрос организации. Я пожалуй все один напишу. Вся экспа мне :-D Просто двиг уже почти готов и отступиться уже невозможно) хочется доделать...
0
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 19:53  [ТС]
Я по ней и программирую...к сожалению не могу сказать что хорошая книга...видишь ли она ограничивается только тем что в ней написано так сказать...вот если есть несколько свойств и они применили одно из них все остальные они объяснять не собираются...а по 9ке книга вообще шикарная...все объяснено предельно понятно и максимально развернуто...
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
21.01.2010, 20:04
к сожалению не могу сказать что хорошая книга...видишь ли она ограничивается только тем что в ней написано так сказать...вот если есть несколько свойств и они применили одно из них все остальные они объяснять не собираются...
и все таки, чего не хватает конкретнее?) интересно...

а по 9ке книга вообще шикарная...все объяснено предельно понятно и максимально развернуто...
что за книга?)
0
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 20:21  [ТС]
Цитата:
а по 9ке книга вообще шикарная...все объяснено предельно понятно и максимально развернуто...
что за книга?)
DirectX и Delphi: разработка графических и мультимедийных приложений

Понимаешь, не хватает описания они очень узко ограничиваются примерами книги и не выходят за рамками этого...ну вот пример, ну как меньшее из зол скажем так:
в D3D10_DRIVER_TYPE в книге исвользуется только одно значение - D3D_DRIVER_TYPE_NULL еще какие-либо возможные значения они не то что не описали даже не перечислили их, ну и все в таком же духе.
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
21.01.2010, 20:35
Понимаешь, не хватает описания они очень узко ограничиваются примерами книги и не выходят за рамками этого...ну вот пример, ну как меньшее из зол скажем так:
в D3D10_DRIVER_TYPE в книге исвользуется только одно значение - D3D_DRIVER_TYPE_NULL еще какие-либо возможные значения они не то что не описали даже не перечислили их, ну и все в таком же духе.
Мне кажется это не слишком удивительно, ведь цель книги обучить как использовать DirectX а не полностью её описать. Для этого есть MSDN - когда у тебя есть цель и нужно узнать лишь тонкость в приципе особого разжевывания для новичка то уже не нужно.
хочу собрать группу людей что бы сесть и вместе долбить это, одному ужасно тяжело...
Если не секрет, проект коммерческий?)
0
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 20:45  [ТС]
Если не секрет, проект коммерческий?)
Нет, первоначальная цель чисто ознакомительная и обучающая
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
21.01.2010, 20:52
Я вижу много пользы в создании отдельной темы для разработки определенной игры: обмен опытом, помощь, совместно дело - это кул. Кажется это было бы эпично. Однако реально ли организовать группу сложно сказать. Жаль я бы не смог поучаствовать пока в такой разработке (по крайне мере активно): свой проект, ось старовата (хп), мало знаний по DX10 =)
0
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 20:59  [ТС]
Да в том-то и дело, я пока набираю из своего окружения людей, один одного я уже нашел, так что думаю с февраля начнем, на счет организации отдельной темы я подумаю, возможно это было бы уместно, но только после освоения самого основного в DirectX а потом взять проект и вести его через форум можно будет попробовать хорошая идея

Добавлено через 3 минуты
Я вот сейчас сижу блин и треугольник в квадрат превратить не могу, че за фигня блин...пример есть описан +- понятно...но блин почему не получается квадрат хз...вроде в структуре все 4е значения метод рисования указан *TRIANGLESTRIP и еще несколько изменений и хоть бы хрен в 9ке бы уже давно бы все сделал капец..блин диагноз рано еще проекты хватать
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
21.01.2010, 21:09
В DX надо очень внимательно следить за тем что вы посылаете в его функции. Шаг влево - шаг в право и того... Будьте внимательны и проверьте каждый параметр на корректность (относительно текущей ситуации). Копать же свой код - не особо полезно. Сразу смотрите что там в DX отправляется (в смысле в ту функцию которая осуществляет то что вы задумали, или если их несколько - придется посмотреть все в порядке их следования), наверняка найдется ошибка. А если нет, то скорее всего вы не понимаете что нужно отправлять, бывают иногда запутанные параметры)
0
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
21.01.2010, 21:22  [ТС]
Да там просто 10 икс + шейдеры а они вообще плохо тут описаны, не совсем понимаю что куда и почем так что сижу и пытаюсь понять где я чего не доделал


Добавлено через 10 минут
Нарисовал...блин капец какой-то...странно
C++
1
2
3
4
5
6
7
    SimpleVertex vertices[] = {
        D3DXVECTOR3(-0.5f,  0.5f, 0.5f),
        D3DXVECTOR3( 0.5f,  0.5f, 0.5f),
        D3DXVECTOR3( 0.5f, -0.5f, 0.5f),
        D3DXVECTOR3(-0.5f, -0.5f, 0.5f),
        D3DXVECTOR3(-0.5f,  0.5f, 0.5f),
    };
первая и последняя координату пришлось одинаковыми сделать странно и не логично как-то...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2010, 21:22
Помогаю со студенческими работами здесь

Подскажите пример подключения lib
Добрый вечер. Можно пример какой-нибудь простенькой программы (например сложение чисел, или вычисление площади треугольника), в которой...

Ошибка: 'lib' does not name a type lib first;
mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include &quot;QString&quot; #include &lt;QMainWindow&gt; #include &lt;QDateTime&gt; ...

Где скачать opengl32.lib, glu32.lib и glaux.lib из OpenGl?
Привет всем... Нужна помошь немогу найти lib Opengl такие как opengl32.lib, glu32.lib и glaux.lib где можно их скачать? (в гугле лазил...

Ошибка /usr/lib/php5/sessionclean: «/usr/lib/php5/20131226/: cannot read file data: Is a directory»
Как исправить? С сервера приходят письма

Линковщик и D3DX10.h
Привет однофорумчане! ... И гений парадоксов друг. В чём же гений VS 2012, если пути к DX SDK (June 2010) прописаны в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru