crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Open SSL - Visual Studio
PAFOS
  опции профиля:
сообщение 27.12.2010, 19:36
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


Добрый день!

Необходимо собрать QT 4.7.X с помощью VS2008 или VS2010 статически + включить OpenSSL в сборку.
пробовал так

configure -release -static -openssl

nmake

при компиляции модуля QtNetwork возникает ошибка а-ля QSslSocket - undeclarated indetifier.

Поковыряв в исходниках понял, что включен макрос QT_NO_OPENSSL...

Неужели нельзя собрать QT+VS+OpenSSL?

З.Ы. сами OpenSSl либы собранные под VS имеются)
З.Ы.Ы. так же при конфигурации необходимо как-то указать пути к статическим либам OpenSSL, как это сделать?

Буду признателен за помощь)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 28.12.2010, 9:41
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Включен макрос QT_NO_OPENSSL вероятно потому, что в системе не стоит OpenSSL.... Что если сначала поставить его, а потом компилить (если дело только в макросе)? А вариант, когда вместе с программой поставлять еще (кажется 2) библиотеки OpenSSL не устраивает (без включения в сборку)?

Чтобы указать пути к статическим либам.... Можно попробовать в src.pro написать что-то типа
win32 {
    QWTLIB      = qwt5
    QWT_ROOT    = C:\\Qt\\qwt-5.2.1
}
else {
    QWTLIB      = qwt$${SUFFIX_STR}
    QWT_ROOT    = /usr/local/qwt-5.2.1
}

LIBS        += -L$${QWT_ROOT}/lib -l$${QWTLIB}

Ну вот тока для openSSL. Хотя не уверен что это так надо делать...просто мысль)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 28.12.2010, 14:02
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


В системе стоит OpenSSL) Суть в том, что при динамической линковке модуль QtNetwork при необходимости использования ssl подгружает либы из PATH или из libraryPath(), видимо поэтому там выключен макрос QT_NO_OPENSSL...

Может быть при статической линковке он ищет пути к инклуду и либам на стадии configure и если не находит таковых - включает этот макрос?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 8.12.2019, 14:01