crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Глюки с libpng в windows
qman
  опции профиля:
сообщение 24.10.2010, 13:30
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 11.1.2010
Пользователь №: 1364

Спасибо сказали: 0 раз(а)




Репутация:   0  


При запуске программа выдает ошибку 0xc000007b и вылетает. Путем комментирования и раскомментирования строчек обнаружил, что это начинается с выполнения первой функции из png.h. Собираю CMake'ом c параметрами (-D PNG_LIBRARY:FILE_PATH=libpng PNG_PNG_INCLUDE_DIR:PATH=libpng12/ GLUT_glut_LIBRARY:FILE_PATH=glut32) и VS2010. Под убунтой то же самое компилится и запускается без проблем. Что я не так делаю?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 25.10.2010, 7:15
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1609
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


скорее всего, это конфликт 32 и 64-битных библиотек. убедись, что в PATH указаны пути до нужных библиотек (именно 32-битных). или попробуй положить правильную библиотеку прямо в каталог, где твоя прога запускается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
qman
  опции профиля:
сообщение 25.10.2010, 10:27
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 11.1.2010
Пользователь №: 1364

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Iron Bug @ 25.10.2010, 8:15) *
скорее всего, это конфликт 32 и 64-битных библиотек. убедись, что в PATH указаны пути до нужных библиотек (именно 32-битных). или попробуй положить правильную библиотеку прямо в каталог, где твоя прога запускается.


Прямо в каталоге лежит libpng12.dll, которую он требовал. Ее нужно заменить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 25.10.2010, 17:59
Сообщение #4


Профессионал
*****

Группа: Модератор
Сообщений: 1609
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


проверь, она 32-битная? ну и glut проверь чтобы был 32-битный. именно тот, с которым собиралось всё.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
qman
  опции профиля:
сообщение 25.10.2010, 22:07
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 11.1.2010
Пользователь №: 1364

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Iron Bug @ 25.10.2010, 17:59) *
проверь, она 32-битная? ну и glut проверь чтобы был 32-битный. именно тот, с которым собиралось всё.

Библиотека, думаю, 32хбитная, так как с ней же не 32 винде все запускалось. Глют тоже 32хбитный, и он работает. Винда 64хбитная, но у нее ж должна быть совместимость с 32битными программами О_о. Только если все собиралось под 64 бита... Но тогда непонятно, как глют работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 26.10.2010, 6:36
Сообщение #6


Профессионал
*****

Группа: Модератор
Сообщений: 1609
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


если всё собиралось под 64, то и библиотеки должны быть 64-битные. нельзя прикрутить сборку для 32 к 64-битной сборке. банально любой вызов между модулями будет падать. если хочешь 32 бита, то где-то надо явно указать, что тебе нужно 32 бита. смотри доки на библиотеки.

Сообщение отредактировал Iron Bug - 26.10.2010, 6:37
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.10.2022, 2:50