crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 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 Текстовая версия Сейчас: 1.10.2022, 0:40