Не компиилруется пример с steps3d.narod.ru
Сообщений 1 страница 15 из 15
Поделиться22015-04-09 11:37:04
Добрый день !
Про первые три ошибки не знаю, возможно не хватает каких-то библиотек
Все остальные ошибки - не подключены необходжимые файлы - не находятся методы класса GlslProgram, проверьте что он компилируется и линкуется
initExtensions - это кажется файл libExt.cpp, он тоже должен компилироваться и линковаться
Вот ссылка на то, как лечатся первые три ошибки - http://stackoverflow.com/questions/1709 … uild-error
Поделиться32015-04-10 10:21:13
Steps3D
скажите, пожалуйста, а программы (модели освещения) , выложенные на steps3d.narod.ru, в какой среде откомпилированы?
Поделиться42015-04-10 12:32:48
Я компилитровал их из командной строки под Win и Linux.
Для Windows использовался компилятор из Visual Studio - сборка шла через nmake с использорванием файла Makefile.nmake
Для Linux сборка через make и файл Makefile
Поделиться52015-04-11 16:27:08
Пробовал откомпилировать в командной строке с помощью g++ -не вышло.
Хочу попробовать через nmake, но не могу найти толкового руководства, как компилировать с её помощью. (Сайт Майкрософт MSDN мне ничего не прояснил)
Может кто даст ссылки, где расписано подробно, как это сделать. Заранее благодарю.
Поделиться62015-04-13 12:19:15
nmake это такой мекломягкий (и кривенький) вариант make, но для windows.
Соответственно файл не сильно отличается от файла для make.
Если цель откомпилировать под Windows через g++, то можно взять за основу Makefile для сборки под Linux и уже идти от него, поскольку если есть g++, то и make тоже есть.
Ключи для компиляции те же, может надо пути подправить.
Сборка под Windows через nmake
nmake -f Makefile.nmake
Сборка под LInux
make -f Makefile
Поделиться72015-05-05 04:38:38
Почти получилось откомпилировать. Но вылезают ошибки- см.картинку.
Подскажите, пожалуйста, в чём проблема. Вроде, ошибка c1060 из-за нехватки памяти происходит, но у меня 16ГБ, и при этом занято максимум 2,5 ГБ во время компиляции.
Поделиться82015-05-05 11:45:59
Про размер кучи не знаю - не сталкивался
Параметр /GX лучше дейсвтительно заменить на /EHsc (либо в Makefile.nmake либо в файле .inc)
На сайте мелкомягких есть следующая статья по этой ошибке - https://msdn.microsoft.com/ru-ru/library/vstudio/yz7kx3y2(v=vs.110).aspx
Поделиться92015-05-13 08:45:21
Steps3D
С виндой мне надоело воевать-поставил Linux)
Но, признаться, я в нём бааальшой чайник))
,Пожалуйста, подскажите как исправить вот такие ошибки:
Makefile:7: ../make.inc: Нет такого файла или каталога
Makefile:75: ../rules.linux: Нет такого файла или каталога
make: *** Нет правила для сборки цели «../rules.linux». Останов.
Находился в домашнем каталоге, Makefile - там же вместе с необходимиыми файлами.
Fedora 21. Запускал через команду в теримнале , указанную вами в предыдущем посте.
Гуглёж мне особо эту ситуацию не прояснил.
Поделиться102015-05-13 13:43:07
Просто чтобы не дублировать код для кучи примеров общие настройки ыбли вынесены в несколько общих файлов, расположенных каталогом выше. И на них делается include.
Нужно взять эти файлы и поставитиь сслылку на них в Makefile (поправить путь в include)
Поделиться112015-05-13 15:55:30
Steps3D
Спасибо.
Я понимаю, что задаю элементарные, наверное, вопросы. Но у меня cнова возникла проблема:
In file included from lambert.cpp:7:0: libExt.h:26:30: фатальная ошибка: ../glxext.h: Нет такого файла или каталога #include "../glxext.h"
Но дело в том, что файл glext.h уже лежит в каталоге выше.
Отредактировано Sashga (2015-05-13 16:17:24)
Поделиться122015-05-14 08:06:46
Steps3D
Спасибо.
Я понимаю, что задаю элементарные, наверное, вопросы. Но у меня cнова возникла проблема:
Код:In file included from lambert.cpp:7:0:
libExt.h:26:30: фатальная ошибка: ../glxext.h: Нет такого файла или каталога
#include "../glxext.h"Но дело в том, что файл glext.h уже лежит в каталоге выше.
Отредактировано Sashga (Вчера 16:17:24)
Эту проблему я исправил.
Подскажите, пожалуйста, как справиться с этим:
вылезли сообщения, подобные этому (на нескольео экранов):
./glu.h:89:5: ошибка: переменная или поле «gluLookAt» объявлено void GLdouble eyex, ^ ../glu.h:89:5: ошибка: нет декларации «GLdouble» в этой области видимости ../glu.h:90:5: ошибка: нет декларации «GLdouble» в этой области видимости GLdouble eyey,
и т.д.
Отредактировано Sashga (2015-05-14 08:16:41)
Поделиться132015-05-14 13:19:36
Это похоже на случай, когда подключается glu.h до gl.h и тип GLdouble просто не определен.
Я бы посоветовал найти место, где подключается glu.h и перед ним вставить
#include <GL/gl.h>
Поделиться142015-05-14 14:20:03
Вот более подробно об шибках:
Все фалы не изменялись, просто были скачаны со steps3d.
Может быть, это больше прояснит ситуацию...
Отредактировано Sashga (2015-05-14 14:22:45)
Поделиться152015-05-23 17:33:03
Предыдущие ошибки ушли, но появилассь новая:
[root@localhost lights]# make -f Makefile
make: *** Нет правила для сборки цели «GlslProgram.o», требуемой для «lambert». Останов.
Помогите, пожалуйста, исправить!
Отредактировано Sashga (2015-05-23 18:46:56)