Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 3D-программирование

3D-программирование miniB3D, OpenGL

Ответ
 
Опции темы
Старый 25.12.2015, 08:14   #1
cann
AnyKey`щик
 
Регистрация: 25.12.2015
Сообщений: 5
Написано одно полезное сообщение
[Minib3d] Подключение модуля

Скачал Minib3d по ссылке. Скопировал папку модуля Minib3d в папку размещения модулей BlitzMax. Получился следующий путь: C:\BlitzMax\mod\sidesign.mod\minib3d.mod.

В редакторе MaxIDE написал следующий код:
Import sidesign.minib3d

Graphics3D 640,480,16,1

SetBuffer BackBuffer()
Repeat
Until KeyHit(1)

End
Нажимаю кнопку собрать и запустить проект, то выходит следующее сообщение:

Compiler Error

Can't find interface for module 'sidesign.minib3d'

Почему BlitzMax не видит модуль minib3d, хотя модуль minib3d разместил там, где требуется? Как все таки правильно подключать модули BlitzMax?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (25.12.2015)
Старый 25.12.2015, 10:15   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,362
Написано 2,474 полезных сообщений
(для 6,861 пользователей)
Ответ: [Minib3d] Подключение модуля

Открой файл C:\BlitzMax\mod\sidesign.mod\minib3d.mod\minib3d.b mx и скомпилируй его (просто Build в MaxIde).
Если заорёт, что не может, то придётся обзавестись компилятором для Си. А именно MinGW.
Поставить его, добавить путь до его папки bin в переменную окружения Path и после этого компиляция удастся.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
ABTOMAT (25.12.2015), cann (25.12.2015), St_AnGer (25.12.2015)
Старый 25.12.2015, 11:55   #3
cann
AnyKey`щик
 
Регистрация: 25.12.2015
Сообщений: 5
Написано одно полезное сообщение
Ответ: [Minib3d] Подключение модуля

Спасибо за ответ. Все встало на свои места. Даже не догадывался, что minib3d нужно собирать из исходников. Я с начала не понял зачем компилятору BlitzMax нужен компилятор MinGW, но потом посмотрел в файл minib3d.bmx и увидел, что в нем прописан импорт с++ файлов. Из-за этого у меня возникло еще пару вопросов:

1) Каким образом при компиляции minib3d, BlitzMax найдет и запустит компилятор MinGW? Я так понимаю компилятор BlitzMax обучен этому.
2) После того, как я скомпилирую minib3d я смогу его использовать как модуль, подключая к проекту при помощи строчки Import sidesign.minib3d или нет? Или придется его подключать вот так Import "minib3d.bmx"?
(Offline)
 
Ответить с цитированием
Старый 25.12.2015, 18:10   #4
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,362
Написано 2,474 полезных сообщений
(для 6,861 пользователей)
Ответ: [Minib3d] Подключение модуля

Сообщение от cann Посмотреть сообщение
1) Каким образом при компиляции minib3d, BlitzMax найдет и запустит компилятор MinGW? Я так понимаю компилятор BlitzMax обучен этому.
Комрилятор (bmk) без указания пути просто обращается к "make" или "cmake". По этому надо дописать в глобальную переменную окружения PATH путь до этих бинарников (добавить ";C\MinGW\Bin", например)
Это можно сделать через свойства компьютера или проще написать в консоли:
SET PATH=%PATH%;C\MinGW\Bin
* от админа

Сообщение от cann Посмотреть сообщение
2) После того, как я скомпилирую minib3d я смогу его использовать как модуль, подключая к проекту при помощи строчки Import sidesign.minib3d или нет? Или придется его подключать вот так Import "minib3d.bmx"?
Просто Import sidesign.minib3d. Не надо его подключать напрямую, а то он будет перекомпилироваться каждый раз.

Также советую вызвать после сборки модуля ребилд документации. В blitzmax есть своя система автоматической генерации документации для модулей (bbdoc). Для этого нужно выполнить makedocs. Или вызвать соответствующий пункт меню в MaxIDE
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti

Последний раз редактировалось Randomize, 25.12.2015 в 23:35.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (25.12.2015)
Старый 01.01.2016, 22:24   #5
mingw
ПроЭктировщик
 
Аватар для mingw
 
Регистрация: 01.01.2016
Сообщений: 145
Написано 74 полезных сообщений
(для 164 пользователей)
Ответ: [Minib3d] Подключение модуля

Следует еще добавить. Если хочешь использовать minib3d как модуль, то перед компиляцией следует убедиться, что в головном файле прописана деректива объявления модуля : Module sidesighn.minib3d иначе исходник подключится на прямую.
(Offline)
 
Ответить с цитированием
Старый 30.01.2016, 22:11   #6
cann
AnyKey`щик
 
Регистрация: 25.12.2015
Сообщений: 5
Написано одно полезное сообщение
Ответ: [Minib3d] Подключение модуля

Собрать и подключить minib3d к проекту у меня получилось, но при построение проекта, я получил следующую ошибку:
Building p2
Compiling:p2.bmx
flat assembler  version 1.69.14  (1559385 kilobytes memory)
3 passes, 8566 bytes.
Linking:p2.debug.exe
C:/BlitzMax/mod/pub.mod/stdc.mod/stdc.debug.win32.x86.a(stdc.c.debug.win32.x86.o):stdc.c:(.text+0x3a9): undefined reference to `__mingw__wopendir'
C:/BlitzMax/mod/pub.mod/stdc.mod/stdc.debug.win32.x86.a(stdc.c.debug.win32.x86.o):stdc.c:(.text+0x3c4): undefined reference to `__mingw_opendir'
C:/BlitzMax/mod/pub.mod/stdc.mod/stdc.debug.win32.x86.a(stdc.c.debug.win32.x86.o):stdc.c:(.text+0x3e6): undefined reference to `__mingw__wclosedir'
C:/BlitzMax/mod/pub.mod/stdc.mod/stdc.debug.win32.x86.a(stdc.c.debug.win32.x86.o):stdc.c:(.text+0x3f9): undefined reference to `__mingw_closedir'
C:/BlitzMax/mod/pub.mod/stdc.mod/stdc.debug.win32.x86.a(stdc.c.debug.win32.x86.o):stdc.c:(.text+0x41b): undefined reference to `__mingw__wreaddir'
C:/BlitzMax/mod/pub.mod/stdc.mod/stdc.debug.win32.x86.a(stdc.c.debug.win32.x86.o):stdc.c:(.text+0x44c): undefined reference to `__mingw_readdir'
Build Error: Failed to link C:/Projects/blitzmax/p2/p2.debug.exe
Process complete
Прошу подсказать какие именно библиотеки не видит мой проект при сборке?
(Offline)
 
Ответить с цитированием
Старый 31.01.2016, 13:06   #7
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,362
Написано 2,474 полезных сообщений
(для 6,861 пользователей)
Ответ: [Minib3d] Подключение модуля

Странно.
Попрбуй отдельно перекомпилить BRL.AppStub

Так же, возможно, дело в версии MinGW.
Попробуй взять tdm-gcc-4.5.2
Отсюда: http://sourceforge.net/projects/tdm-...ious/1.1006.0/
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
cann (31.01.2016)
Старый 31.01.2016, 13:38   #8
cann
AnyKey`щик
 
Регистрация: 25.12.2015
Сообщений: 5
Написано одно полезное сообщение
Ответ: [Minib3d] Подключение модуля

Сообщение от Randomize Посмотреть сообщение
Странно.
Попрбуй отдельно перекомпилить BRL.AppStub
Как можно перекомпилировать модуль отдельно?

Я пробовал из командной строки, но ничего не выполнялось, делал так:

C:\BlitzMax\bin>bmk.exe makemods appstub.mod
т.к. appstub модуль у меня расположен C:\BlitzMax\mod\brl.mod\appstub.mod

Как можно скомпилировать модуль через MaxIDE?
(Offline)
 
Ответить с цитированием
Старый 31.01.2016, 14:09   #9
cann
AnyKey`щик
 
Регистрация: 25.12.2015
Сообщений: 5
Написано одно полезное сообщение
Ответ: [Minib3d] Подключение модуля

Спасибо все заработало. Собрал проект при помощи tdm-gcc 5.1.0. Не понятно только, почему MinGW не хочет собирать проект.

Собрал Demo поставляемое с Minib3d, вот что получилось:

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 23:10.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com