Кросс-компиляция для WinCe_x86 |
Здравствуйте, гость ( Вход | Регистрация )
Кросс-компиляция для WinCe_x86 |
tp4 |
3.5.2011, 10:19
Сообщение
#1
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здравствуйте, господа.
Цель: собирать 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? Заранее спасибо! |
|
|
tp4 |
5.5.2011, 12:58
Сообщение
#2
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
Спасибо, ufna.
Заработало. Подсунул ему libcmt.lib, переименованную в libc.lib, как советовали на каком-то форуме. Насколько это правомерно? Мне потом что-нибудь будет за такой dirty trick? |
|
|
Текстовая версия | Сейчас: 29.11.2024, 15:33 |