Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
C
5 сентября 2018 г. 18:05

Ошибка статической компиляции Qt с OpenSSL

open-ssl, Qt, c++

Здравствуйте! Хочу скомпилировать статически Qt с OpenSSL. Создал batch файл:

SET /P qtBuildType=Qt build type (shared/static): 
SET /P qtBuildMySqlIncludePath=MySql include path: 
SET /P qtBuildMySqlLibPath=MySql lib path: 
SET /P qtBuildOpenSSLIncludePath=OpenSSL include path: 
SET /P qtBuildOpenSSLLibPath=OpenSSL lib path: 
SET /P qtBuildPath=Enter Qt build path: 
configure.bat -debug-and-release -%qtBuildType% -opensource -nomake tools -nomake examples -no-ltcg -sql-mysql -I "%qtBuildMySqlIncludePath%" -L "%qtBuildMySqlLibPath%" -openssl-linked -I "%qtBuildOpenSSLIncludePath%" -L "%qtBuildOpenSSLLibPath%" -prefix "%qtBuildPath%"
Все работает хорошо, но за некоторое время выбрасывает ошибки с OpenSSL:
..\..\bin\xmlpatterns.exe : fatal error LNK1120: 197 unresolved externals
jom: D:\QtBuild\Src\qtxmlpatterns\tools\xmlpatterns\Makefile.Release [..\..\bin\xmlpatterns.exe] Error 1120
jom: D:\QtBuild\Src\qtxmlpatterns\tools\xmlpatterns\Makefile [release] Error 2
jom: D:\QtBuild\Src\qtxmlpatterns\tools\Makefile [sub-xmlpatterns-make_first] Error 2
jom: D:\QtBuild\Src\qtxmlpatterns\tools\Makefile [sub-xmlpatternsvalidator-make_first] Error 2
jom: D:\QtBuild\Src\qtxmlpatterns\Makefile [sub-tools-make_first] Error 2
jom: D:\QtBuild\Src\Makefile [module-qtxmlpatterns-make_first] Error 2
Пробовал разные версии библиотек OpenSSL, но проблема осталась. Компилирую Qt 5.9.6 под MSVC2017 x86. Вот нашел похожую проблему: https://forum.qt.io/topic/85501/error-whie-building-qt-5-9-with-openssl-statically-using-vs2015/8 
Там какой-то патч использовали, но не знаю как получить этот патч. Спасибо.

Возврат 10% от суммы заказа отеля на Booking
Возврат 10% от суммы заказа отеля на Booking
Предлагаем ссылку с 10% возвратом от суммы заказа при бронировании отеля через Booking
1
C
  • 6 сентября 2018 г. 17:14
  • (ред.)
  • Ответ был помечен как решение.

Здравствуйте! Проблема была с OpenSSL библиотеками. Я загрузил библиотеки с этого сайта: https://www.npcglib.org/~stathis/blog/precompiled-openssl/ . Теперь все нормально компилируется.

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
МБ
21 апреля 2019 г. 9:40
Моисей Бушуев

Qt - Тест 001. Сигналы и слоты

  • Результат:0баллов,
  • Очки рейтинга-10
AA
17 апреля 2019 г. 19:40
Anton Ablin

Qt - Тест 001. Сигналы и слоты

  • Результат:73баллов,
  • Очки рейтинга1
E
17 апреля 2019 г. 18:16
Evgeny

Qt - Тест 001. Сигналы и слоты

  • Результат:100баллов,
  • Очки рейтинга10
Последние комментарии
21 апреля 2019 г. 16:22
Евгений Легоцкой

Через метод setIcon table.horizontalHeaderItem(0).setIcon("qrc://path/to/icon.png")
21 апреля 2019 г. 15:48
Евгений Легоцкой

Добрый день! Спасибо за комментарий. Там действительно лучше будет сделать с инициализацией по умолчанию.
U
18 апреля 2019 г. 15:37
Unreal_man

А как иконку в хедер задать?
u
18 апреля 2019 г. 2:15
uaa

доброго времени,большое спасибо за пример для начинающего)при адаптации к своему проекту столкнулся с таким ньансом:в vepolyline.h в 47 строке нужна инициализация по умолчанию: int m_pointF...
E
11 апреля 2019 г. 12:49
Evgeny

Спасибо за ответ) У меня компоновщик на нее ругался просто. Оказалось, просто забыл Q_OBJECT в начале класса указать.
Сейчас обсуждают на форуме
23 апреля 2019 г. 18:39
BlinCT

Вопрос закрыт) проблема найдена
21 апреля 2019 г. 16:16
Евгений Легоцкой

Приветствую Нужно сохранять где-то выбранное значение, а потом восстанавливать его. Или использовать QSettings или добавить метод open(), в который передавать начальные значения для того...
R
19 апреля 2019 г. 9:55
RED_Spider

мені важко це зараз навіть перевірити, тому що знайшов коміт, це ще було в 2016 році, і цей код не буде працювати коректно зараз, єдине скажу що це були QThread
i
17 апреля 2019 г. 15:03
ilya.guzikov

BlinCT, на стороне ++ это делать необходимо так как в qml при использовании функции append происходит перерисовка всех точек лини(как я понимаю) и из-за этого при использовании больших массиво...
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы