Russian Qt Forum
Сентябрь 30, 2024, 12:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Кроссплатформенность QT ;D  (Прочитано 14125 раз)
v01d
Гость
« : Апрель 01, 2011, 10:19 »

Скомпилировал проект Qt в Win7 на других Win7 все отлично работает.
Решил проверить на WinXP и вот получаю такого рода сообщение - Ошибка при инициализации приложения 0xc0150002
как собрать проект что бы он работал и на XP?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Апрель 01, 2011, 10:26 »

Компилятор какой? Студийный, небось?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
v01d
Гость
« Ответ #2 : Апрель 01, 2011, 10:39 »

Компилятор какой? Студийный, небось?
mingw
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Апрель 01, 2011, 10:44 »

Либы все положил? Что из себя представляет прога и что линкует?
Делаешь дебажную версию и гонишь ее под gdb на ХРюшной машине.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
v01d
Гость
« Ответ #4 : Апрель 01, 2011, 11:13 »

Либы все положил? Что из себя представляет прога и что линкует?
Делаешь дебажную версию и гонишь ее под gdb на ХРюшной машине.
Прога использует xml, network, crypto плагин
гуи и коре все кидается в папку как и на машине с win7, еще раз замечу программа работает на других win7 на которых не стоит qt
а вот на winxp получаю ошибку
при помощи depends смотрел библиотеки скопировал все что нужно ему было из win7
запускаться стала часть приложения, после определенных действий падает с ошибкой
инструкция по адресу 0x64428bb4 обратилась к памяти по адресу 0x00000000 память не может быть read
программа падает работая с qca либо qnetwork
Записан
Denjs
Гость
« Ответ #5 : Апрель 01, 2011, 12:09 »

Соберайте все на WinXP. может оно там пр сборке привязалось к каким-либо "чисто семерочным" библиотекам? Вы кастати в своем проекте какие там API-функции не используете?
 
Это-ж виндоус, радуйтесь что обратная совместимость хоть как-то сохраняется... а вы совместимость "при даунгрейде" хотите))) это же виндоус! Подмигивающий

У меня немногим другая ситуация. - Собираю на WinXP - под Windows7 работает, под Win2000 - нет.
Записан
v01d
Гость
« Ответ #6 : Апрель 01, 2011, 12:33 »

на сколько я знаю opera написана на Qt и инстялятор для windows у нее 1 на все версии
никакой win api не используется, только qt
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Апрель 01, 2011, 12:37 »

1. Opera не на Qt.
2. делай дистр на XP и он запустится под всеми более старшими версиями винды (ну, практически).
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
v01d
Гость
« Ответ #8 : Апрель 01, 2011, 12:58 »

1. Opera не на Qt.
2. делай дистр на XP и он запустится под всеми более старшими версиями винды (ну, практически).
спасибо за ответы)

не знаете почему при отладке в eclipse пишет not found source for main?
но пройдя дебагером дальше когда вызывается уже мой сppшник с классом он его подключает, а вот main функцию он не видит
может можно как то явно указать путь до main.cpp
« Последнее редактирование: Апрель 01, 2011, 13:10 от v01d » Записан
maint
Гость
« Ответ #9 : Апрель 01, 2011, 13:14 »

Скомпилировал проект Qt в Win7 на других Win7 все отлично работает.
Решил проверить на WinXP и вот получаю такого рода сообщение - Ошибка при инициализации приложения 0xc0150002
как собрать проект что бы он работал и на XP?
это вопрос совместимости винды. Не зря в семерке появился режим совместимости с ХР, фактически виртуальная машина. А уж наоборот, работать уж точно не обязана сборка
Записан
v01d
Гость
« Ответ #10 : Апрель 01, 2011, 13:26 »

мне интересно узнать как писать программы что бы они работали как, opera firefox и т.д. что бы не нужно было по 1 версии под каждый windows, как такого можно добиться?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #11 : Апрель 01, 2011, 13:49 »

Вот найдешь багу, из-за которой у тебя все падает, исправишь ее, тогда падать не будет.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #12 : Апрель 01, 2011, 13:49 »

2. делай дистр на XP и он запустится под всеми более старшими версиями винды (ну, практически).
Пусть делает дистр на win 2000 по такой логике : )
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #13 : Апрель 01, 2011, 13:50 »

panAlexey, вполне нормальное решение.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Denjs
Гость
« Ответ #14 : Апрель 01, 2011, 13:53 »

это вопрос совместимости винды. Не зря в семерке появился режим совместимости с ХР, фактически виртуальная машина. А уж наоборот, работать уж точно не обязана сборка
во! идея. Путсть автор топика проводит сборку под командной строкой, запущенной "в режиме совместимости" ))))
ну или Qt Creator запустит "в режиме совместимости"? может и "ошибка" при запуске под хренью исчезнет?

потому что имхо, тут уже не вопрос о кроссплатформенности QT, - это вопрос совместимости бинарных сборок, программы и конкретных версий виндоус.
А этого Qt и не должен гарантировать.

_____________________________________________________________

Qt обеспечивает кроссплатформенность исходников - причем в том смысле, что вы можете ваши исходники без переработки собрать под разными осями, и он это успешно обеспечивает.

А вот будет ли запускаться собранный бинарник под старыми версиями венды, или даже например под вайном - этого никто не гарантирует. Это тоже самое, что и например требовать что бы бинарное представление STL-типов было одно и то-же у разных компиляторов. или что бы бинарник собранный для одного дистрибутива линукс, работал под другим дистрибутивом - он же может, но не обязан)

 Злой предлагаю топик переобозвать, потому что своим названием он смеет объявлять что Qt дкскать "не кроссплатформенен", потому что бинарные сборки не совместимы с теми, что нужны для "некоторых" модификаций ОС, что в корне не верно  Подмигивающий

анафему автору за заблуждения пока объявлять не будем  Улыбающийся

« Последнее редактирование: Апрель 01, 2011, 14:23 от Denjs » Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.103 секунд. Запросов: 23.