Компьютерная графика

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Компьютерная графика » Программирование графики и GPU » StepsFramework - вопрос по компиляции


StepsFramework - вопрос по компиляции

Сообщений 1 страница 9 из 9

1

Уважаемый Алексей Викторович, у меня созрел очередной ламерский вопрос. :)
В OpenGL я далеко не мастер (с полгода назад пересел на него с Direct3D под впечатлением от Ваших книг и микрософтовского вероломства). Естественно, пользовался Вашими наработками и, прежде всего, фреймворком тех времён.  Как я его компилировал, уже, честно говоря, не помню, но процесс был довольно мучительный. В дальнейшем многие классы (матрицы, кватернионы и векторы) написал в соответствии со своими требованиями; классы вершин, граней, костей и мешей изначально писал свои. Но, тем не менее, многое из Ваших библиотек (прежде всего libExt и libTexture) использовал и (если Вы не возражаете), планирую использовать впредь. И тут вышел казус в силу того, что для задействования обсуждавшихся ранее расширений мне следовало скачать свежий libExt. Скачал, скомпилировал. Но тут при компиляции проекта пошли конфликты с уже имеющейся libTexture,  свежую версию которой я тоже взялся компилировать и пока что завис. :)
   Естественно, если я повторю подвиги полугодичной давности, то  в конце концов справлюсь и с этим. Но, если честно, хочется все силы направить на проект (который не факт что кому нужен, но тем не менее :) ).
    Ну а потому очередной ламерский вопрос: не могли бы Вы пояснить, как можно быстро и без суеты собрать фреймворк?
Я пользуюсь MS Visual Studio 2008 SP1.
   Если вопрос совсем идиотский, то прошу прощения. Но ИМХО лучше несколько раз задать дурацкие вопросы, чем так и остаться дураком.

Отредактировано gekisai (2009-05-14 23:48:54)

0

2

Про VS 2008 не знаю, я использую 2005 и все делаю через nmake
ПРосто для этого необходимо настроить переменные окружения, чтобы все это вызывалось в командной строке
У меня стоят следующие настройки переменных окружения

DevEnvDir=C:\Program Files\Microsoft Visual Studio 8\Common7\IDE
INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\ATLMFC\INCLUDE;C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\include
LIB=C:\Program Files\Microsoft Visual Studio 8\VC\ATLMFC\LIB;C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib
VCINSTALLDIR=C:\Program Files\Microsoft Visual Studio 8\VC
VS80COMNTOOLS=C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 8

Кроме того надо добавить в PATH пути к бинарникам
Т.е. из командной строки должны запускаться cl.exe и nmake.exe
После этого в каталоге с проектом (использующим фреймворк) запускаете компиляцию  через сле5дующую команду
nmake -f Makefile.nmake

Отдельно весь фреймворк я не собираю (хотя это пожалуй не врено), а только в конкретным примером

0

3

Подскажите пожалуйста,мне нужно скомпилировать исходный код из статьи про рендеринг травы. Пытался делать в VC++ 2005 и в QT никак не получалось. Добавлял необходимые библиотеки из фреймворка в проект и все равно ошибки линковки. Что я не так делал?

0

4

А какие именно ошибки ?
Как говорится "Телепатв в отпуске :))

0

5

вот примерно такие ошибки и их много, это на вижуале
glslprogram.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Data::isOk(void)const " (?isOk@Data@@QBE_NXZ)
glslprogram.obj : error LNK2001: unresolved external symbol "class Data * __cdecl getFile(char const *)" (?getFile@@YAPAVData@@PBD@Z)
glslprogram.obj : error LNK2001: unresolved external symbol "void (__stdcall* glAttachShader)(unsigned int,unsigned int)" (?glAttachShader@@3P6GXII@ZA)
boxes.obj : error LNK2001: unresolved external symbol "void (__stdcall* glMultiTexCoord3f)(unsigned int,float,float,float)" (?glMultiTexCoord3f@@3P6GXIMMM@ZA)
landscape-demo-5.obj : error LNK2001: unresolved external symbol "void (__stdcall* glDeleteBuffersARB)(int,unsigned int const *)" (?glDeleteBuffersARB@@3P6GXHPBI@ZA)
landscape-demo-5.obj : error LNK2001: unresolved external symbol "void (__stdcall* glBufferDataARB)(unsigned int,int,void const *,unsigned int)" (?glBufferDataARB@@3P6GXIHPBXI@ZA)
landscape-demo-5.obj : error LNK2001: unresolved external symbol "void (__stdcall* glActiveTextureARB)(unsigned int)" (?glActiveTextureARB@@3P6GXI@ZA)
landscape-demo-5.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl createTexture2D(bool,char const *)" (?createTexture2D@@YAI_NPBD@Z)
landscape-demo-5.obj : error LNK2001: unresolved external symbol "void __cdecl initExtensions(void)" (?initExtensions@@YAXXZ)

а это в куте
D:/grass/Vector3D.h::-1: error: multiple definition of `Noise::large'
./debug\noise.o:D:/grass/Vector3D.h::-1: error: first defined here
D:/grass/Plane.h::-1: error: multiple definition of `Frustum::Frustum()'
./debug\Frustum.o:D:/grass/Plane.h::-1: error: first defined here
D:/grass/main.cpp:168: undefined reference to `glColorPointer@16'
D:/grass/main.cpp:165: undefined reference to `glVertexPointer@16'
D:/grass/main.cpp:383: undefined reference to `glBegin@4'

Отредактировано deman (2010-12-06 15:10:28)

0

6

1. У Вас не подключен файл GlslProgram.cpp (или не подлинковывается)
2. Про QT ничего сказать не могу - я таких ошибок никогда не наблюдал. Вы случайно не используете precompiled headers ?
Если да, то попробуйте отключить
Последние сообщения - у Вас скорее всего не подключилась opengl32.lib

0

7

файл GlslProgram.cpp подключен точно. может надо  в определенной последовательности линковать файлы?

0

8

мне кажется что я вообще делаю не так как надо...    как вообще проще всего  скомпилировать этот код?))

0

9

Там есть Makefile.nmake

Из консоли в которой настроен вызов компилятора вызываем
nmake -f Makefile.nmake

0


Вы здесь » Компьютерная графика » Программирование графики и GPU » StepsFramework - вопрос по компиляции


создать форум