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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка BNC-2.12  (Прочитано 5273 раз)
tornado
Гость
« : Апрель 27, 2016, 21:22 »

Добрый день, уважаемые програмисты.
Прошу меня очень сильно не пинать, ибо зайти сюда и просить помощи меня заставила полная безвыходность.

Если вкратце, то проблема в следующем. Есть исходник, который судя по описанию авторов можно инужно собирать при помощи QT-4.8.7. Этот исходник лежит в свободном доступе https://igs.bkg.bund.de/root_ftp/NTRIP/software/bnc-2.12.1-source.zip. Согласно приложенной инструкции, скачал QT-4.8.7 и поставил на Linux Fedora 19. Вроде стало без косяков. Далее начал собирать саму програмку и получил вот такой результат (вывод собственно ошибки):

Код:
make[1]: Entering directory `/home/BNC-2.12.1/src'
g++ -c -pipe -Wall -W -D_REENTRANT -D_TTY_POSIX_ -DUSE_PPP_SSR_I -DQT_WEBKIT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_SVG_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.8.7/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.8.7/include/QtCore -I/usr/local/Trolltech/Qt-4.8.7/include/QtNetwork -I/usr/local/Trolltech/Qt-4.8.7/include/QtGui -I/usr/local/Trolltech/Qt-4.8.7/include/QtSvg -I/usr/local/Trolltech/Qt-4.8.7/include/QtWebKit -I/usr/local/Trolltech/Qt-4.8.7/include -I. -I../newmat -IRTCM3 -IRTCM3/clock_and_orbit -IRTCM -I../qwt -I../qwtpolar -IPPP_SSR_I -I.moc/release -o .obj/release/bncgetthread.o bncgetthread.cpp
g++ -c -pipe -Wall -W -D_REENTRANT -D_TTY_POSIX_ -DUSE_PPP_SSR_I -DQT_WEBKIT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_SVG_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.8.7/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.8.7/include/QtCore -I/usr/local/Trolltech/Qt-4.8.7/include/QtNetwork -I/usr/local/Trolltech/Qt-4.8.7/include/QtGui -I/usr/local/Trolltech/Qt-4.8.7/include/QtSvg -I/usr/local/Trolltech/Qt-4.8.7/include/QtWebKit -I/usr/local/Trolltech/Qt-4.8.7/include -I. -I../newmat -IRTCM3 -IRTCM3/clock_and_orbit -IRTCM -I../qwt -I../qwtpolar -IPPP_SSR_I -I.moc/release -o .obj/release/bncwindow.o bncwindow.cpp
In file included from bncwindow.cpp:60:0:
bncsslconfig.h:8:29: error: invalid use of incomplete type 'class QSslConfiguration'
 class bncSslConfig : public QSslConfiguration {
                             ^
In file included from /usr/local/Trolltech/Qt-4.8.7/include/QtNetwork/qabstractnetworkcache.h:48:0,
                 from /usr/local/Trolltech/Qt-4.8.7/include/QtNetwork/QtNetwork:10,
                 from bncgetthread.h:29,
                 from bncwindow.h:31,
                 from bncwindow.cpp:44:
/usr/local/Trolltech/Qt-4.8.7/include/QtNetwork/qnetworkrequest.h:56:7: error: forward declaration of 'class QSslConfiguration'
 class QSslConfiguration;
       ^
make[1]: *** [.obj/release/bncwindow.o] Error 1
make[1]: Leaving directory `/home/BNC-2.12.1/src'
make: *** [sub-src-make_default-ordered] Error 2

Поскольку мои многочисленные письма к разработчикам остались без ответа, отсюда вопрос - как с этим можно бороться? Сам я по своей профессии не програмист, поэтому буду весьма признателен за любую помощь, если такая будет оказана.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Апрель 27, 2016, 21:28 »

Добавьте в файл bncsslconfig.h в начало файла сразу за идущими там include строку:
Код
C++ (Qt)
#include <QSslConfiguration>
 
Записан
tornado
Гость
« Ответ #2 : Апрель 27, 2016, 21:41 »

Добавьте в файл bncsslconfig.h в начало файла сразу за идущими там include строку:
Попробовал. К сожалению не помогает.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Апрель 27, 2016, 22:30 »

Это значит, что Qt собран без поддержки SSL. Где эта инструкция?
Записан
tornado
Гость
« Ответ #4 : Апрель 27, 2016, 22:57 »

Это значит, что Qt собран без поддержки SSL. Где эта инструкция?
Вот собственно инструкция по установке.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Апрель 28, 2016, 10:29 »

ты собирал Qt вручную? Тогда почти наверняка поддержка openssl была отключена. Нужно его пересобрать заново, добавив к другим ключам ./configure ключ -openssl:

Код:
./configure <ключи из readme> -openssl

Кстати говоря я сомневаюсь, что им для компиляции нужна именно версия 4.8.7. Думаю что можно попробовать использовать системный Qt, который точно собран с openssl. Установи пакеты для Qt, как-то так https://ask.fedoraproject.org/en/question/36411/how-to-install-qt-in-fedora-no-valid-kit-fund-when-create-project/ и попробуй.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Апрель 28, 2016, 11:16 »

Поддержку SSL можно проверить с помощью штатных  примеров Qt: network/securesocketclient
Записан

Юра.
tornado
Гость
« Ответ #7 : Апрель 28, 2016, 21:39 »

ты собирал Qt вручную? Тогда почти наверняка поддержка openssl была отключена. Нужно его пересобрать заново, добавив к другим ключам ./configure ключ -openssl:

Код:
./configure <ключи из readme> -openssl

Кстати говоря я сомневаюсь, что им для компиляции нужна именно версия 4.8.7. Думаю что можно попробовать использовать системный Qt, который точно собран с openssl. Установи пакеты для Qt, как-то так https://ask.fedoraproject.org/en/question/36411/how-to-install-qt-in-fedora-no-valid-kit-fund-when-create-project/ и попробуй.
Да. Qt я собирал вручную. И конечно же следуя дурацкой инструкции (чёртовы буржуины) без ключа -openssl. Попробовал его добавить, но тоже не получилось. Насколько я понял не хватало каких то библиотек для Openssl. Подгрузил какие смог найти библиотеки для Openssl и процесс пошел, но тоже не совсем удачно. Все равно чё то не хватает:
Код:
gmake[1]: Entering directory `/home/Archive/QT_4.8.7/qt-everywhere-opensource-src-4.8.7/src/network'
g++ -c -include .pch/release-shared/QtNetwork -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_NETWORK_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include/QtCore -I../../include -I../../include/QtNetwork -I.rcc/release-shared -Ikernel -I.moc/release-shared -o .obj/release-shared/qhttp.o access/qhttp.cpp
In file included from access/qhttp.cpp:3153:0:
.moc/release-shared/moc_qhttp.cpp: In static member function 'static void QHttp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)':
.moc/release-shared/moc_qhttp.cpp:101:22: error: 'class QHttp' has no member named 'sslErrors'
         case 10: _t->sslErrors((*reinterpret_cast< const QList<QSslError>(*)>(_a[1]))); break;
                      ^
.moc/release-shared/moc_qhttp.cpp:103:22: error: 'class QHttp' has no member named 'ignoreSslErrors'
         case 12: _t->ignoreSslErrors(); break;
                      ^
.moc/release-shared/moc_qhttp.cpp:110:32: error: 'class QHttpPrivate' has no member named '_q_slotEncryptedBytesWritten'
         case 19: _t->d_func()->_q_slotEncryptedBytesWritten((*reinterpret_cast< qint64(*)>(_a[1]))); break;
                                ^
.moc/release-shared/moc_qhttp.cpp: At global scope:
.moc/release-shared/moc_qhttp.cpp:229:51: error: no 'void QHttp::sslErrors(const QList<QSslError>&)' member function declared in class 'QHttp'
 void QHttp::sslErrors(const QList<QSslError> & _t1)
                                                   ^
gmake[1]: *** [.obj/release-shared/qhttp.o] Error 1
gmake[1]: Leaving directory `/home/Archive/QT_4.8.7/qt-everywhere-opensource-src-4.8.7/src/network'
gmake: *** [sub-network-make_default-ordered] Error 2
В конце концов, плюнул и последовал Вашему совету установить системный Qt. Кстати он оказался версии 4.8.6. С его помощью удалось скомпилировать программку. Так что проблема решена. Всем огромное спасибо, особенно Алексу Кустову (надеюсь правильно написал). Дальше потихонечку разберусь чего там не хватает для ручной сборки Qt в моем случае.
« Последнее редактирование: Апрель 28, 2016, 21:41 от tornado » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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