Политика конфиденциальностиКонтактыО сайтеОтзывы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 
Там какой-то патч использовали, но не знаю как получить этот патч. Спасибо.

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

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

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
IO
20 января 2019 г. 18:39
Ivan Otreshko

C++ - Тест 003. Условия и циклы

  • Результат:0баллов,
  • Очки рейтинга-10
IO
20 января 2019 г. 15:27
Ivan Otreshko

C++ - Тест 003. Условия и циклы

  • Результат:0баллов,
  • Очки рейтинга-10
v
17 января 2019 г. 11:51
vitalir12

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20баллов,
  • Очки рейтинга-10
Последние комментарии
I
16 января 2019 г. 8:06
IscanderChe

Заработало. Забыл model->select(); вписать.
I
16 января 2019 г. 8:02
IscanderChe

Всё равно пусто, хотя строка с данными в базу добавляется.
16 января 2019 г. 7:51
Евгений Легоцкой

потому, что нужно сохранять информацию для всех остальных ролей и столбцов через вызов переопределённого метода. Да к тому же вы ещё и зациклили вызов метода data. QVariant MySqlTableModel:...
I
16 января 2019 г. 7:43
IscanderChe

Сделал вот так. В tableView ничего нет, кроме заголовка. QVariant MySqlTableModel::data(const QModelIndex &index, int role) const{ if (role == Qt::DisplayRole) { QTime ...
Сейчас обсуждают на форуме
21 января 2019 г. 16:28
Михаиллл

Добрый день.Почему работая на С++, нельзя полноценно использовать dll , написанных на C#, java?И почему используя другие языки, можно использовать dll , написанных на C++?
21 января 2019 г. 16:24
Михаиллл

Нашел ссылку на древние типы данных , а тут нынешние их аналоги.Но все равно каое что непоня:что такое : LPCTSTR, CALLBACK (наверно QDialig),IDOK, EDITSTREAM, TCHARКод...
21 января 2019 г. 14:30
Евгений Легоцкой

Порядок создания тем - пункт 4
ПБ
21 января 2019 г. 9:23
Павел Богдевич

Ребята, привет. Это 2 версии одного приложения. Отличаются только способом инициализации таблицы. В одной версии работает сортировка таблицы, когда кликаешь по хедеру колонки, в другой - нет. ...
21 января 2019 г. 7:36
Евгений Легоцкой

Добрый день! Из ваего вопроса понятна первая часть. На сайте есть статья по динамическому созданию виджетов, посмотрите её для начала - Динамическое создание виджетов . ...
Присоединяйтесь к нам в социальных сетях

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