OpenGL и Qt4, некорректное выполнение программы |
Здравствуйте, гость ( Вход | Регистрация )
OpenGL и Qt4, некорректное выполнение программы |
registr |
12.2.2010, 16:56
Сообщение
#1
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
Опять про OpenGL. Написал приложение на Qt 4.3.0, которое у меня выполняется корректно, а на некоторых компах некорректно. Суть программы в том, что по высоте над поверхностью она дает цвет точке данной высоты.
Такое ощущение, что не работает функция C_fun (см. исходник). На компе, где компилировал, работает как надо, на некоторых (но не на всех) работает некорректно (фигура строится полностью серым цветом). 1) Корректно или нет запускается у вас мое приложение? 2) Какие советы и предложения, чтобы исправить данный дефект??? ссылка для скачивания Сообщение отредактировал registr - 12.2.2010, 18:07 |
|
|
Rocky |
12.2.2010, 17:54
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
у меня не запустилась, требует mingw.dll. фиг с ней, попробовал скомпилить (у меня щас msvc 2008).. Вопрос. А что вот это может компилироваться?
судя по всему да....раз бинарник есть.. но это как-то хм... странно... Т.е. mingw такое проглатывает? Ради интереса ща в g++ попробую |
|
|
registr |
12.2.2010, 18:23
Сообщение
#3
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
dll скачай здесь
Компилирую через обычное кьютеховское консольное меню стандартным образом: qmake -project в файл-проект добавляю QT += opengl qmake make Вопрос собственно в другом, почему на разных машинах приложение работает с переменным успехом. Думал раньше, что видеокарта тут причем. Теперь так не думаю. Как будто скомпилированный код понимается по разному, когда функция C_fun не выполняется и ставится заранее установленный цвет -- серый. ??? Сообщение отредактировал registr - 12.2.2010, 19:11 |
|
|
Litkevich Yuriy |
12.2.2010, 18:28
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Rocky |
12.2.2010, 18:38
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Ну как бы либо я отстал... но вот так никогда нельзя было делать:
либо #define z 5 либо const int z = 5; Потому что компилятор должен знать заранее сколько памяти выделять под статический (!) массив. Это же не динамический... так можно вообще так делать int z = 0; cin << z; int x[z]; Чето странное либо я сильно туплю в конце недели ) Зы. 1) Запустилось 2) Цвет верхней точки красный (даже не ораженвый как у рядом стоящих (или лежащих?) точек) |
|
|
registr |
12.2.2010, 18:48
Сообщение
#6
|
Участник Группа: Участник Сообщений: 115 Регистрация: 16.11.2009 Пользователь №: 1234 Спасибо сказали: 8 раз(а) Репутация: 1 |
Зы. 1) Запустилось 2) Цвет верхней точки красный (даже не ораженвый как у рядом стоящих (или лежащих?) точек) Можно крутить мышью ) Фишка в том, что у кого то запускается правильно, у кого то неправильно. Я не могу разобраться почему. Help. Сообщение отредактировал registr - 12.2.2010, 19:10 |
|
|
BRE |
12.2.2010, 18:58
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Потому что компилятор должен знать заранее сколько памяти выделять под статический (!) массив. Это же не динамический... так можно вообще так делать int z = 0; cin << z; int x[z]; Чето странное либо я сильно туплю в конце недели ) Это расширение gcc: возможность создания массивов переменной длины на стеке. |
|
|
DEADHUNT |
12.2.2010, 19:04
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
|
|
|
BRE |
12.2.2010, 19:09
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Это расширение gcc: возможность создания массивов переменной длины на стеке. это не расширение, а variable length array из стандарта C99. Они это называют Extensions??? http://gcc.gnu.org/onlinedocs/gcc/C-Extens...ml#C-Extensions Подраздел: Variable Length: Arrays whose length is computed at run time. |
|
|
Rocky |
12.2.2010, 19:16
Сообщение
#10
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Litkevich Yuriy извини за ссылку на другой форум... Если нельзя удали(
registr Спросил у старших товарищей, посмотри, может в это дело. Можно ли задавать статич. массиву размер через дин. переменную? Я про вывод. Посмотри, реально ли там те значения, которые ты кладешь в любом случае nmake такое не понимает ) Сообщение отредактировал Litkevich Yuriy - 12.2.2010, 20:03 |
|
|
Текстовая версия | Сейчас: 22.12.2024, 14:17 |