crossplatform.ru

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


  Ответ в Кросс-компиляция для WinCe_x86
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kuzulis Дата 21.8.2011, 19:02
  Доброго времени, подниму тему!

Я тоже озадачился аналогичной проблемой.

Что я делал:
1. Установил VS2008
2. Установил WinCE standart SDK
3. Распаковал исходники Qt 4.7.1 в
Цитата
c:\qt\src-4.7.1

4. Создал директорию для сборки:
Цитата
c:\qt\build-vs2008-wince-4.7.1

5. В этой директории создал два *bat файлика:
cfg-qt471.bat
c:\qt\src-4.7.1\configure ^
-debug-and-release ^
-opensource ^
-platform win32-msvc2008 ^
-xplatform wince50standard-x86-msvc2008 ^
-no-qt3support ^
-no-dbus ^
-no-phonon ^
-no-phonon-backend ^
-no-multimedia ^
-no-audio-backend ^
-no-webkit ^
-nomake examples ^
-nomake demos

и
env-qt471.bat
set QTDIR=C:\Qt\build-vs2008-wince-4.7.1
set INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include;C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\Include\x86
set LIB=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\lib\x86;C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\Lib\x86
set PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_cex86;%PATH%


6. Запустил консоль 2008 студии и в ней выполнил файл cfg-qt471.bat
7. Далее, после удачного конфигурирования выполнил env-qt471.bat
8. Далее, выполнил nmake

9. Далее, в настройках QtCreator 2.2.1->"Параметры"->"Qt4"->"Особые" название профиля:
msvc2008-wince-4.7.1
и указал путь к собраному qmake:
c:\qt\build-vs2008-wince-4.7.1\bin\qmake.exe
(см. рис 1)

Но! Теперь при попытке открыть любой файл проекта *.pro, QtCreator не предоставляет выбор моего профиля, хотя в
QtCreator 2.2.1->"Параметры"->"Инструментарии" имеется запись об MSVC 2008 (см. рис 2)

-----
Пробовал также установить Qt VS Addin v1.9 , но возникла проблема
(см. http://www.forum.crossplatform.ru/index.ph...mp;#entry52479)

Как быть? :blink:





ufna Дата 5.5.2011, 14:52
  Вот когда баги из ниоткуда полезут, тогда и будешь думать. А так - врядли что-то случится, если уж слинковалось и работает, то можно вздохнуть спокойно.
tp4 Дата 5.5.2011, 12:58
  Спасибо, ufna.

Заработало.
Подсунул ему libcmt.lib, переименованную в libc.lib, как советовали на каком-то форуме. Насколько это правомерно? Мне потом что-нибудь будет за такой dirty trick?
ufna Дата 4.5.2011, 17:34
  хочет ее, скачай да выдай :) не обязательно чтобы она была. А там по результату :)
tp4 Дата 4.5.2011, 17:12
  Спасибо.

Действительно, к своему стыду просто криво записал пути к библиотекам.
Вот так нужно было:
LIBS += -L"c:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\Lib\x86\"
LIBS += -L"c:\Program Files\Microsoft Visual Studio 9.0\VC\lib\"

Но к сожалению этого оказалось недостаточно.
Теперь вот такая ошибка появляется:
Цитата
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'


На моей машине такой библиотеки не оказалось. Гугл говорит, что libc.lib - это старая однопотоковая версия libc и что теперь используются только libcmt.lib.

Подскажите пожалуйста, как побороть эту ошибку?
ufna Дата 4.5.2011, 14:01
  LIBS += -LC:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\Lib\x86\ corelibc

последний параметр только не помню как написать
tp4 Дата 3.5.2011, 10:19
  Здравствуйте, господа.

Цель: собирать Qt-приложения для Win7_x86 и для WinCe_x86. Разработка ведется в QtCreator'е в Win7. Qt 4.7. MS VS 2008.

Что сделал:
1. Поставил SDK для wince.
2. Собрал Qt для платформы wince_x86
3. Поставил Qt-VS-addon
Итог: Из студии все прекрасно компилится и в дебаге и в релизе. Есть желание кросскомпилить из Creator'а.

1. В настройках криэйтора указал путь к qmake. Сразу определился студийный компилятор.
2. Создал простой проект:

.pro
QT += core
QT -= gui

TARGET = test_ce_cons
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp

main.cpp
#include <QtCore/QCoreApplication>
#include <QDebug>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<"asd";
return a.exec();
}

4. В "проектах" выбираю wince'шный профиль. Компилю в дебаге - все норм.
5. При компиляции в релизе начал требовать сначала stddef.h, затем winbase.h.
Все это вылечилось доп. строками в pro-файле:
INCLUDEPATH += "c:\Program Files\Microsoft Visual Studio 9.0\VC\include\"
INCLUDEPATH += "c:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\Include\x86\"

Далее говорит: LINK : fatal error LNK1181: cannot open input file 'corelibc.lib'
Ну я ему говорю: LIBS += "c:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500\Lib\x86\corelibc.lib"
Не помогло. Та же ошибка линковки.


Итак,

1. Как все же скомпилить в релизе через криэйтор? Что я делаю нитак?
2. Почему при компиляции в дебаге не ругается на stddef.h, winbase.h?

Заранее спасибо!


Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 15.7.2025, 13:18