#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
||||||
1 | ||||||
Любой проект - с ошибками. Что делать?01.11.2014, 16:56. Показов 2573. Ответов 6
Метки нет (Все метки)
Здравствуйте!Создал проект по примеру с
http://d3dbegin.narod.ru ... ошибки лан сделал по видео потом по понял что нужно #pragma...lib... но все равно не объявленные внешние элемееты код
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _Direct3DCreate9@4 в функции "long __cdecl InitialDirect3D(struct HWND__ *)" (?InitialDirect3D@@YAJPAUHWND__@@@Z) C:\Users\Miramix\Documents\Visual Studio 2013\Projects\Динамичеки куб с видео\Исходный код.obj Динамичеки куб с видео Ошибка 4 error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixRotationY@8 в функции "void __cdecl Matrix(void)" (?Matrix@@YAXXZ) C:\Users\Miramix\Documents\Visual Studio 2013\Projects\Динамичеки куб с видео\Исходный код.obj Динамичеки куб с видео Ошибка 3 error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixRotationX@8 в функции "void __cdecl Matrix(void)" (?Matrix@@YAXXZ) C:\Users\Miramix\Documents\Visual Studio 2013\Projects\Динамичеки куб с видео\Исходный код.obj Динамичеки куб с видео Ошибка 6 error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixPerspectiveFovLH@20 в функции "void __cdecl Matrix(void)" (?Matrix@@YAXXZ) C:\Users\Miramix\Documents\Visual Studio 2013\Projects\Динамичеки куб с видео\Исходный код.obj Динамичеки куб с видео Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixMultiply@12 в функции "void __cdecl Matrix(void)" (?Matrix@@YAXXZ) C:\Users\Miramix\Documents\Visual Studio 2013\Projects\Динамичеки куб с видео\Исходный код.obj Динамичеки куб с видео Ошибка 5 error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixLookAtLH@16 в функции "void __cdecl Matrix(void)" (?Matrix@@YAXXZ) C:\Users\Miramix\Documents\Visual Studio 2013\Projects\Динамичеки куб с видео\Исходный код.obj Динамичеки куб с видео Ошибка 7 error LNK1120: неразрешенных внешних элементов: 6 C:\Users\Miramix\Documents\Visual Studio 2013\Projects\Динамичеки куб с видео\Debug\Динамичеки куб с видео.exe Динамичеки куб с видео скрин
0
|
01.11.2014, 16:56 | |
Ответы с готовыми решениями:
6
Что делать с ошибками? Подкиньте любой проект, посмотреть, что к чему материнская плата elitegroup g 41t -m13 не загружаеть windows любой что делать Не работает проект, что делать? |
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
|
01.11.2014, 17:00 [ТС] | 2 |
Windows 8.1 но использовал DirectX SDK от июня то есть 9й так как в примерах он
Добавлено через 28 секунд это динамический куб
0
|
04.11.2014, 09:21 | 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||
1. Проект сразу выдает ошибку, если не подключены user32.lib, kernel32.lib, gdi32.lib, winmm.lib при компоновке, но так как у вас MS VS, то уже у вас эти библиотеки указаны.
2. С такой же как у вас проблемой, я тоже сталкивался, в том смысле, что компоновщик не может найти конкретно именно Direct3DCreate9, а также D3DXMatrixRotationY, причем они объявлены в библиотеках d3d9.lib d3dx9.lib чисто конкретно уже указанных компоновщику и действительно там имеющихся. Я на эти ошибки натыкался уже сотни раз, так что нужно фиксировать их решение, так в голове оно не удержится, и снова и снова нужно будет исправлять одну и ту же ошибку. 3. После запуска программа не работает, то есть окно не появляется, но при этом и ошибки не выдаются. 4. В подобных проектах, я натыкаюсь на одни и те же грабли. Нужно где-то фиксировать способы решения возникающих проблем, так как с ними можно столкнуться тысячи раз еще раз. Ошибка в том, что окно не создается. Создал пустой проект в MS VC Express 2010. Создаю .cpp файл и вставляю ваш код. Лог компиляции: В Include directories указано $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(F rameworkSDKDir)\include; то есть MS VC Express не учитывает переменные среды при компиляции. Нужно указать, где находится 'd3dx9.h' вручную, как обычно вручную. Захожу в Edit: хардкодно указываю C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Include . Указал. Нажимаю "применить". Нажимаю "ОК". Новая попытка компиляциии: выбираю пункт в меню Debug, в субменю выбираю Build solution. Лог компиляции, как обычно провалб но так как такой провал будет повторяться с каждым разом, нужно фиксировать решение проблемы в отдельном файле. Перехожу на строчку 217 Там код
Почему LPCWSTR? Так как поле lpszClassName структуры WNDCLASSEX имеет тип LPCWSTR. LPCWSTR определен как
ЯВНО преобразовываю тип
После преобразований, пробую компилировать еще раз Лог компиляции: Захожу в project properties. VC++ directories. Раздел Library directories. Edit. Хардкодно прописываю C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Lib\x86. Применить. ОК. Пробую компилировать: Debug - Build solution Прописываю ее директивой #pragma
Добавлено через 14 минут Итог запуска: The program '[11512] q222.exe: Native' has exited with code 0 (0x0). ПРОГРАММА ОШИБОЧНО ВЫШЛА, НЕ СОЗДАВ ОКНО. Изменяю код следующим образом
Захожу в google. Запрос GetLastError error codes. Перехожу по первой же ссылке: http://msdn.microsoft.com/ru-r... s.85).aspx (System Error Codes) Преобразовываю шестнадцатеричное 57f в десятичное, получаю 1407. Перехожу по ссылке http://msdn.microsoft.com/ru-r... s.85).aspx Смотрю Однако выход на ошибке создания класса не происходит, то есть класс на самом деле создан. Если бы его не была, программы бы вышла в коде:
Добавлено через 8 минут Пример заведомо правильного работюающего приложения с созданием окна
1
|
04.11.2014, 09:43 | 4 |
Если я вставляю код из заведомо работающего проекта, то окно создается, однако не инициализируется DirectX
Добавлено через 15 минут Заменяю "WINDOWCLASS" на "s". Окно создано. Программа работает. То есть проблема в том, что строку "WINDOWCLASS" нельзя использовать для создания класса.
1
|
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
|
04.11.2014, 14:56 [ТС] | 5 |
Так здорово что хоть кто-то ответил! Спасибо огромное попробую. но я указал все что возможно в дополнительных зависимостях.Пробуйте скопировать 1й урок из d3dbegin.narod.ru у него все получается у меня нет. ведь подключал я и либы и заголовочные директа но ...
Вот этот куб в конце видео почему у него все спокойно запустилось?
0
|
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
|
04.11.2014, 14:59 [ТС] | 7 |
Alexandr_1982, извиняюсь хотел прикрепить видео но не разобрался с функциями))
0
|
04.11.2014, 14:59 | |
04.11.2014, 14:59 | |
Помогаю со студенческими работами здесь
7
Проект ТоDo (что делать) STS не импортирует проект, что делать? Установка любой ОС проходит с ошибками. Подскажите пожалуйста,что делать если фпс в любой из игр начинает колебаться от 60 до 10 с интервалом 1 секунда Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |