Добрый вечер форумчане!) Я хотел попробовать работать на Qt-Creator-е , и вот один пример на нем (с новыми тенями) RTW shadows в замен, вылезли 2 ошибки.
Код
E:\OpenGL\newother\samples\shadows\src\Viewer\MainWidget.cpp:143: ошибка: no matching function for call to 'Shadow::SetDesiredView(SCI::Mat4, SCI::Mat4)' shadow->SetDesiredView(sel_view->GetView(),sel_proj->GetMatrix()); ^ E:\OpenGL\newother\ыamples\shadows\src\Viewer\MainWidget.cpp:144: ошибка: no matching function for call to 'Shadow::SetLightView(SCI::Mat4, SCI::Mat4)' shadow->SetLightView(lv_view.GetView(),lv_proj.GetMatrix()); ^
Надеюсь, поможете)
Сообщение отредактировал LightGreen - Суббота, 10 Января 2015, 20:21
LightGreen, ты проект для Qt как собираешь? Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
Наследование классов. Что-то не совпадает с типом параметра. Для вызова функции по такому указателю нужен объект класса, которого нет. В общем, проверь параметры и наличие. Что делать зависит от задачи: менять тип указателя, использовать статическую функцию, использовать интерфейс вместо указателя на метод. Дао, выраженное словами, не есть истинное Дао.
менять тип указателя, использовать статическую функцию
Пробовал... При смене указателя выдает ошибку, менял в определении - все равно. Вот заменил
Код
Shadow *shadow;
на
Код
Shadow shadow;
Вылезла ошибка, которую я опять же не понимаю
Код
E:\OpenGL\newother\samples\shadows\include\Viewer\MainWidget.h:101: ошибка: cannot declare field 'MainWidget::shadow' to be of abstract type 'Shadow' Shadow shadow; ^
ЦитатаTLT ()
использовать интерфейс вместо указателя на метод.
Вот этого тоже не понял))
Сообщение отредактировал LightGreen - Суббота, 10 Января 2015, 22:09
Ты файл с названием rtw.pro открыл? Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Воскресенье, 11 Января 2015, 12:28
У меня Qt 5.4.0 MSVC2010 OpenGL 32bit это самая свежая версия, лежит на оф сайте.
Это мой проект с учетом моей конфигурации
Код
#------------------------------------------------------------------------------- # Rectilinear Texture Warping for Fast Adaptive Shadow Mapping # Copyright (C) 2013 Paul Rosen # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. #-------------------------------------------------------------------------------
в файл MainWindow.cpp надо еще #include <QSplitter> добавить Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Воскресенье, 11 Января 2015, 14:27
Кстати, собрать проект под Qt 4.8 еще проще, надо только пути к библиотекам правильно прописать. Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Воскресенье, 11 Января 2015, 14:49
Библиотеку в проект можно добавить так. Открываешь файл проекта, нажимаешь правую клавишу мыши, там выбираешь пункт добавить библиотеку, потом выбираешь внешная библиотека (не знаю как по русски перевели), дальше уже сам разберешься. Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Воскресенье, 11 Января 2015, 18:56
Эх прописал то все правильно, правда там либы не лежало)) Ну, теперь, все лежит... И тут вылетает 191 ошибка + что я только не пробовал(компилировал библиотеки под х64) Подключал библиотеки glew_static( glew32s.lib) C помощью команды линковщика ( #pragma comment(lib, "glew32.lib") Вот скрин... Да, знаю что эта ошибка обозначает то, что линковщик не находит реализацию функции... Была раньше такая же проблема со студией, там она решилась компилированием либы под х64. Ах да, попробовал добавить либу через проект(как вы указали выше), но все осталось прежним - вот мое добавление вручную