|
3D-программирование miniB3D, OpenGL |
25.12.2015, 08:14
|
#1
|
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)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.12.2015, 10:15
|
#2
|
[object Object]
Регистрация: 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 за это полезное сообщение:
|
|
25.12.2015, 11:55
|
#3
|
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
|
[object Object]
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.01.2016, 22:24
|
#5
|
ПроЭктировщик
Регистрация: 01.01.2016
Сообщений: 145
Написано 74 полезных сообщений (для 164 пользователей)
|
Ответ: [Minib3d] Подключение модуля
Следует еще добавить. Если хочешь использовать minib3d как модуль, то перед компиляцией следует убедиться, что в головном файле прописана деректива объявления модуля : Module sidesighn.minib3d иначе исходник подключится на прямую.
|
(Offline)
|
|
30.01.2016, 22:11
|
#6
|
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
|
[object Object]
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.01.2016, 13:38
|
#8
|
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
|
AnyKey`щик
Регистрация: 25.12.2015
Сообщений: 5
Написано одно полезное сообщение
|
Ответ: [Minib3d] Подключение модуля
Спасибо все заработало. Собрал проект при помощи tdm-gcc 5.1.0. Не понятно только, почему MinGW не хочет собирать проект.
Собрал Demo поставляемое с Minib3d, вот что получилось:
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:10.
|