QtSerialPort, Проблема сборки QtSerialPort под Windows |
Здравствуйте, гость ( Вход | Регистрация )
QtSerialPort, Проблема сборки QtSerialPort под Windows |
lkslks |
18.10.2012, 8:40
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 18.10.2012 Пользователь №: 3566 Спасибо сказали: 0 раз(а) Репутация: 0 |
При сборке получаю такое сообщение:
.... g++ -Wl,-s -o release\libSerialPort.a release/serialport.o release/serialportinfo.o release/serialport_win.o release/serialportinfo_win.o -L".\lib" -L"c:\Qt\4.8.3\lib" -lsetupapi -ladvapi32 -lQtCore4 c:/qt/qtcreator-2.5.2/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `WinMain@16' collect2: ld returned 1 exit status ------------------- Qt 4.8.3 MinGW 4.4.0 Кто может прояснить ситуацию ? |
|
|
kuzulis |
18.10.2012, 12:16
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Все отлично собирается. Смотри проблему у себя со своей Qt и MinGw.
|
|
|
iReset |
18.10.2012, 12:37
Сообщение
#3
|
Участник Группа: Участник Сообщений: 178 Регистрация: 6.6.2012 Пользователь №: 3414 Спасибо сказали: 23 раз(а) Репутация: 2 |
Виноват, ерунду написал. Сообщение отредактировал iReset - 18.10.2012, 12:48 |
|
|
RazrFalcon |
18.10.2012, 15:21
Сообщение
#4
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Аналогичная проблема.
Лог сборки: Раскрывающийся текст
|
|
|
kuzulis |
18.10.2012, 15:56
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Цитата Аналогичная проблема. Во 1: Это не QtSerialPort а QSerialDevice. Во 2: Не аналогичная проблема: Цитата ..\..\qserialdevice-qserialdevice\src\/serialportengine_p_win.h:17:50: error: QtCore/private/qwineventnotifier_p.h: No such file or directory Эта проблема уже стопитсотраз обсуждалась: нжно взять qwineventnotifier_p.h из сорцов Qt. Гугл в помощь. В 3: QSerialDevice больше не поддерживается, поэтому исправляйте баги сами. Сообщение отредактировал kuzulis - 18.10.2012, 15:57 |
|
|
RazrFalcon |
18.10.2012, 16:49
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Так кого лучше использовать?
QtSerialPort или QSerialDevice? |
|
|
kuzulis |
18.10.2012, 18:42
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
|
|
|
lkslks |
18.10.2012, 19:01
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 18.10.2012 Пользователь №: 3566 Спасибо сказали: 0 раз(а) Репутация: 0 |
QSerialDevice уже не поддерживается, вместо него QtSerialPort.
Подробности и исходники здесь: http://qt-project.org/wiki/QtSerialPort Вот рекомендуемый процесс сборки с этого сайта: для Qt4: mkdir serialport-build-release cd serialport-build-release qmake ../serialport-src/serialport.pro CONFIG+=release make (or nmake) cd .. mkdir serialport-build-debug cd serialport-build-debug qmake ../serialport-src/serialport.pro //or can add CONFIG+=debug make (or nmake) cd .. cd serialport-build-release // install release build make install (or nmake install) cd .. cd serialport-build-debug // install debug build make install (or nmake install) При выполнении nmake появлялась ошибка с отсутствием WinMain@16, описанная в начале темы. После изменения строки qmake ........... на qmake ../serialport-src/serialport.pro CONFIG+=release CONFIG+=DLL ошибка исчезла. Правда, осталась проблемка с отсутствием одного файла при компиляции примера Terminal, с этим разберусь чуть позже. Да, библиотека собралась и нормально вызывается. Буду тестировать дальше. |
|
|
RazrFalcon |
18.10.2012, 19:03
Сообщение
#9
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Почитал. Понял.
|
|
|
lkslks |
19.10.2012, 8:51
Сообщение
#10
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 18.10.2012 Пользователь №: 3566 Спасибо сказали: 0 раз(а) Репутация: 0 |
1. Проект QtSeriallPort скомпилировался после добавления CONFIG += DLL. Подозреваю, что виноваты настройки версии Qt4.8.3 (у меня).
2. Не скомпилировался пример Terminal. Выяснил, что причина в том, что не собирается файл ресурсов из terminal.qrc в файл qrc_terminal.cpp. Пробовал подключать ресурсы в QtCreator 2.5.2. Не получается, тот же результат, даже с тестовым проектом. Решил, что у меня QtCreator неверно настроен. Создал файл вручную командой "rcc -o qrc_terminal.cpp terminal.qrc" и подсунул куда надо, пример скомпилировался и заработал. Есть ли у кого какие идеи по неработающим ресурсам ? Подозреваю настройки Qt4.8.3, но опыта не хватает найти причину. PS: Ресурсы, конечно не главное в данном проекте. |
|
|
Текстовая версия | Сейчас: 1.12.2024, 12:37 |