22 Февраля 2025, 13:31:17
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > [общее]как сделать свой канал через SDK?
[общее]как сделать свой канал через SDK?
(Прочитано 34865 раз)
  1 [2] 3
Печать
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #15 13 Июля 2009, 11:06:54 »
Re: [общее]как сделать свой канал через SDK? |
15
за сдк спасибо.
Ну а пустой ченел ты каким образом получил? моим визардом, ихним визардом, переделал какой то темплейт или экзампл?
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #16 13 Июля 2009, 11:10:23 »
Re: [общее]как сделать свой канал через SDK? |
16
ихним визардом  В замешательстве
просто создал новый проект и нажал Build
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #17 13 Июля 2009, 11:15:11 »
Re: [общее]как сделать свой канал через SDK? |
17
можеш прислать архивчик с этим прожектом? гляну чё там в настройках
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #18 13 Июля 2009, 11:47:17 »
Re: [общее]как сделать свой канал через SDK? |
18
Solution Configurations Debug - все нормально!
Solution Configurations Release - все плохо! (Error   1   fatal error LNK1104: cannot open file 'c:\code\Q3D_Crt\cr80_Q3D.lib'   ChannelWizard1)
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #19 13 Июля 2009, 12:02:02 »
Re: [общее]как сделать свой канал через SDK? |
19
Ruslan
вечерком копаться буду с СДК.
Далеко не уходи =)
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #20 13 Июля 2009, 14:31:00 »
Re: [общее]как сделать свой канал через SDK? |
20
Вобщем мы с Ruslan-ом пообщялись в аське и выяснили что такая проблема возникает у тех кто пользуется SDK Quest3D 4.3 2005 Beta 6 Там нехватает парочки файликов, парочка лишних, и в одном какая-то левая херь из-за которой и появлялась эта проблема. Может быть это ещё не всё))) и может быть это не только в этой версии сдк  Веселый

в инклудах не хватает Act_New.h и EngineListener.h, зато там есть два лишних .lib файла. А в A3d_List.h нужно закоментить такой кусок
Код:
#ifndef _DEBUG
#pragma comment (lib,"c:\\code\\Q3D_Crt\\cr80_Q3D.lib")
#pragma comment (lib,"c:\\code\\Q3D_Crt\\cp80_Q3D.lib")
#pragma comment (lib,"c:\\code\\Q3D_Crt\\cm80_Q3D.lib")
#endif
* EngineListener.h (0.19 Кб - загружено 1563 раз.)
* Act_New.h (0.52 Кб - загружено 1560 раз.)
« Последнее редактирование: 14 Июля 2009, 11:43:52 от DimiS »
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #21 14 Июля 2009, 02:34:24 »
Re: [общее]как сделать свой канал через SDK? |
21
DimiS

А у меня было так при повторном инсталировании СДК и ВС2005.

1. Сношу полностью ВС2005 и СДК
2. Устанавливаю ВС2005
3. Устанавливаю СДК
4. Создаю папку C:\Program Files\Microsoft Visual Studio 8\VC\vcprojects\Quest3d и закидываю те секретные файлики из С:\
- ChannelWizard.ico
- ChannelWizard.vsdir
- ChannelWizard.vsz

5. Запускаю ВС
6. Указываю путь к "инклудам" и "либам" через тулс-опции-прожект и солюшнс-С++ дирикторис .
7. Создаю новый проект.
8. попытка компилирования выдаёт ошибку

 
Цитировать
Depending of the Version of C++ you use, you can get this error. This means, that the Version YOU use is newer then the one, the template was created for.
Что в переводе на турецкий: вы что! Показает язык версия визарта не совпадает с версией вашей студии.

Возник вопрос: а как исправить это дело!?
Решение проблемы на 13 шаге.
9. Руководствуясь сообщением DimiSа
Цитировать
В качестве наводки могу сказать что там дето в сдк лежит некое install.exe после запуска которой у меня в корне диска C: появилась парочка файликов которые дето надо было подсунуть студии,
Удаляю с С:\ эти секретные файлы и пытаюсь их сгенерировать вновь. - Ничего не получается, они не создаются.
10. Возвращаю эти секретные файлы из C:\Program Files\Microsoft Visual Studio 8\VC\vcprojects\Quest3d.
11. Удаляю папку C:\q3dsdk\Wizard\Templates \VS71 и жму по адресу  C:\q3dsdk\Wizard\Dll инстал.
12. создаю проект и возникает  уже другого рода ошибка. в переводе на турецкий: А ГДЕ ЖЕ C:\q3dsdk\Wizard\Templates \VS71!!!!!!!

и тут всё стало ясно =)
13. Замещаю содержимое по адресу C:\q3dsdk\Wizard\Templates \VS71 содержимым по адресу C:\q3dsdk\Wizard\Templates \VS80.
14. Компилю код: всё без ошибок, мы получили пустой канал.

Проект с этим каналам публикуется без ошибок

Версия Квеста 422
Версия студии VS2005 Pro
« Последнее редактирование: 14 Июля 2009, 02:38:29 от Sqwer »
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #22 14 Июля 2009, 11:41:08 »
Re: [общее]как сделать свой канал через SDK? |
22
видимо у каждого свой путь к нирване Смеющийся у всех разные проблемы возникают при работе с сдк, и у всех разные пути решения. Ruslan, я так понял вобще никаких лишних телодвижений не делал по установке визарда, просто проинсталил и оно работает  Улыбающийся
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #23 14 Июля 2009, 11:45:27 »
Re: [общее]как сделать свой канал через SDK? |
23
DimiS
а теперь, можно вас спросить о семантике языка

Например написать канал, складывающий два вектора?
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #24 14 Июля 2009, 12:00:22 »
Re: [общее]как сделать свой канал через SDK? |
24
я бы такую задачу разделил на три этапа:
1. Нужно унаследовать базовый тип своего канала от вектора, и разобратся какая функция у него будет вызываться для получения значения вектора.
2. Нужно создать два чаилд линка, куда можно будет подключать векторы, и разобраться как спрашивать у них значение (скорее всего той же функцией которой мы будем отдавать значение своего Подмигивающий)
3. Реализовать необходимые нам вычисления, в необходимом для этого месте (имхо в той самой функции что отдаёт значение вектора)

В принципе всё это описано в хелпе по сдк, будут какие то более специфичные вопросы -- обращяйся
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #25 14 Июля 2009, 12:06:02 »
Re: [общее]как сделать свой канал через SDK? |
25
DimiS спасибо

А поповоду их хелпа - это откровенная лажа.
В нормальных хелпах разбирают 3-5 примерчиков.

А в этом я вижу только: как создать пустой канал и референсы по свойствам команд.

Мне как человеку не знающему структуру очень сложно разбираться, а тем кто вперве программирует на языке выс уровня - наверное ещё тяжелее.
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #26 14 Июля 2009, 16:51:56 »
Re: [общее]как сделать свой канал через SDK? |
26
DimiS Спасибо за помощь!

Если операция сложения для типа Vector перегружена (я надеюсь) то можно просто  VectorNew = Vector1+Vector2
« Последнее редактирование: 14 Июля 2009, 17:05:10 от Ruslan »
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #27 14 Июля 2009, 17:17:05 »
Re: [общее]как сделать свой канал через SDK? |
27
помоему не перегружена
Кстати для работы с векторами и матрицами в квестовых ченелах прийдётся ещё скачать DirectX SDK Даю ссылку на 9 версию потому что не уверен что 10 сдк подойдёт, но точно знаю, что для работы с квестовой сдк её достаточно
« Последнее редактирование: 14 Июля 2009, 17:25:47 от DimiS »
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #28 14 Июля 2009, 21:27:43 »
Re: [общее]как сделать свой канал через SDK? |
28
Установил  DirectX SDK
пробовал компилировать пример ODE_BodyCollision
возникла ошибка:
Error   1   fatal error C1083: Cannot open include file: 'Aco_DX8_DirectGraphics.h': No such file or directory   c:\q3dsdk\samples\ode_bodycollision\stdafx.h   27

Такого файла у меня тоже нет.
Подозреваю, что это не последний файл, которого я не досчитаюсь.  В замешательстве
Скиньте пожалуйста СДК 4.2.2 может с этим получится...
« Последнее редактирование: 14 Июля 2009, 21:46:54 от Ruslan »
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #29 15 Июля 2009, 00:46:57 »
Re: [общее]как сделать свой канал через SDK? |
29
без паники! Крутой ни у кого нету этого файлика
этот ченел писался ещё во времена динозавров, ещё на 2003-ей студии, и с тех пор сдк немного переделывалась. Только пример никто не подгонял под новые версии. Aco_DX8_DirectGraphics.h теперь зовётся Aco_DX8_Direct3D.h, поменяй в 27-ой строчке файлика stdafx.h
Далее он тебе скажет что не может найти d3dx8.lib Оно и понятно, ведь стоит 9-ая сдк. Лезем в Configuration Properties | Linker | Input и в дополнительных зависимостях меняем "8" на "9" у d3dx8.lib
Потом оно скажет что не может прочитать некое LIBC.lib Гугл рассказал мне, что эта проблема возникает при портировании проектов написаных в 2003-ей студии в более новые её версии. Наш случай. Лечится это так: опять лезем в Configuration Properties | Linker | Input и в поле Ignore specific library прописываем её родимую -- LIBC.lib

С этим примером у меня больше проблем не возникло. А вот когда я попробовал скомпилить ODE_World, то там всё в итоге упёрлось в обращение к ченнелам, инклудов для которых в сдк нет... А вот у разработчиков то они точно были, как и много других полезных инклудов для разнообразных ченелов. Ток чё они их зажали для меня до сих пор загадка.
 
  1 [2] 3
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > [общее]как сделать свой канал через SDK?
Перейти в: