Название: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 16, 2014, 09:47 Здравствуйте, нужна помощь в статической сборке QCA. Уже 4 дня ищу в интернете хоть какую-то информацию по этому вопросу, но ничего подходящего так и не нашел. Может кто-то знает как собрать или хотя бы подскажите в каком направлении рыть. Моя версия Qt 5.3 Windows 7 x86. Буду рад любой помощи. Заранее Всем спасибо.
Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 16, 2014, 10:10 Собирал не раз QCA, но всегда dynamic. Статическая сборка не давалась. Точнее давалась, но собиралось не все и был ограниченный набор алгоритмов (хотя пробовал один раз и очень давно и разбираться не было желания, т.к. dynamic удобнее был для меня, как ни крути). Если Qt уже в статике, то и QCA будет в статике, судя по строчкам в CMakeLists:
Код: # QCA can be shared but plugins will be static Хотя стоит просто попробовать поменять option(BUILD_SHARED_LIBS "Build shared library" ON) на OFF и собирать как есть. Интересно услышать результаты ;) Если нужны более подробные шаги для сборки, то примерно вот: 1. Хватаем git://anongit.kde.org/qca.git 2. Хватаем CMake 3. Можно и Doxygen схватить для документации 4. Хватаем OpenSSL (пакет для разработчиков) 5. Открываем CMakeLists.txt в креаторе (мне так лично удобнее было) 6. Запускаем CMake - при этом, он попросит указать путь до CMake, который должен был быть уже установлен в пункте 2. 7. Запускаем make 8. Ну, собственно, и все, дальше пользуемся dll-ками :) Сегодня вечером попробую сам static сделать. Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 16, 2014, 10:15 Qt я собрал статически , сейчас попробую сделать как вы говорите и отпишусь.
Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 16, 2014, 10:29 [ 50%] Building CXX object unittest/base64unittest/CMakeFiles/base64unittest.dir/base64unittest.cpp.obj
Linking CXX executable ..\..\bin\base64unittest.exe CMakeFiles\base64unittest.dir/objects.a(base64unittest.cpp.obj):base64unittest.cpp:(.text$_ZN30Staticqca_loggerPluginInstanceC1Ev[__ZN30Staticqca_loggerPluginInstanceC1Ev]+0xa): undefined reference to `qt_static_plugin_qca_logger()' CMakeFiles\base64unittest.dir/objects.a(base64unittest.cpp.obj):base64unittest.cpp:(.text$_ZN28Staticqca_osslPluginInstanceC1Ev[__ZN28Staticqca_osslPluginInstanceC1Ev]+0xa): undefined reference to `qt_static_plugin_qca_ossl()' C:/Qt/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: CMakeFiles\base64unittest.dir/objects.a(base64unittest.cpp.obj): bad reloc address 0xa in section `.text$_ZN28Staticqca_osslPluginInstanceC1Ev[__ZN28Staticqca_osslPluginInstanceC1Ev]' collect2.exe: error: ld returned 1 exit status unittest\base64unittest\CMakeFiles\base64unittest.dir\build.make:102: recipe for target 'bin/base64unittest.exe' failed mingw32-make[2]: *** [bin/base64unittest.exe] Error 1 CMakeFiles\Makefile2:558: recipe for target 'unittest/base64unittest/CMakeFiles/base64unittest.dir/all' failed mingw32-make[1]: *** [unittest/base64unittest/CMakeFiles/base64unittest.dir/all] Error 2 Makefile:126: recipe for target 'all' failed mingw32-make: *** [all] Error 2 10:24:27: Процесс «C:\Qt\Tools\mingw482_32\bin\mingw32-make.exe» завершился с кодом 2. Ошибка при сборке/установке проекта qca (комплект: Desktop Qt 5.3.0 MinGW 32bit) Во время выполнения этапа «Сборка» 10:24:27: Прошло времени: 03:40. Есть еще какие-то варианты? Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 16, 2014, 10:35 Попробуй отключить сборку юниттестов. option(BUILD_TESTS "Create test" OFF)
Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 16, 2014, 16:08 Попробуй отключить сборку юниттестов. option(BUILD_TESTS "Create test" OFF) Не помогло. :( Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 16, 2014, 16:17 Вечером попробую сегодня. Отпишусь.
Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 16, 2014, 18:47 После долгих мучений все таки вроде собрал. И появилась другая проблема -
ошибка: cannot find -lqca ошибка collect2.exe: error: ld returned 1 exit status ??? Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 17, 2014, 10:22 Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 19, 2014, 09:14 Прихворал, не было сил попробовать =(
lqca не может найти? А в pro файле прописал путь до libqca.a? Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 19, 2014, 14:39 Прихворал, не было сил попробовать =( lqca не может найти? А в pro файле прописал путь до libqca.a? У меня нету файла libqca.a есть только libqca.dll.a пробовал указывать путь к нему , тоже самое. Пробовал переименовать его в libqca.a выдает - "Программа завершилась крахом" Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 19, 2014, 15:50 постараюсь посмотреть сегодня вечером. В динамике он тоже .dll.а генерирует. не помню, как укротил.
Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 19, 2014, 15:54 постараюсь посмотреть сегодня вечером. В динамике он тоже .dll.а генерирует. не помню, как укротил. Буду ждать , а пока жду попробую сам разобраться.Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 19, 2014, 21:25 Так, а куда копировал либы скомпиленные и что добавлял в файл проекта помимо либы? CONFIG += crypto делал? (если нет, скажу че куда кинуть надо).
Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 19, 2014, 22:26 Статическая сборка Qt расположена у меня по пути - C:\Qt\Static\5.2.1
QCA prefix is C:/Qt/Static/5.2.1/ Plugins will be installed to C:/Qt/Static/5.2.1/plugins/crypto Binary will be installed to C:/Qt/Static/5.2.1/bin Library will be installed to C:/Qt/Static/5.2.1/lib Feature file will be installed to C:/Qt/Static/5.2.1/mkspecs/features Public headers will be installed to C:/Qt/Static/5.2.1/include Private headers will be installed to C:/Qt/Static/5.2.1/include Documentation will be installed to C:/Qt/Static/5.2.1/doc/html/qca Man page will be installed to C:/Qt/Static/5.2.1/man Pkg-config file will be installed to C:/Qt/Static/5.2.1/lib/pkgconfig В файле проекта добавляю - CONFIG += crypto win32:CONFIG(release, debug|release): LIBS += -L$$PWD/C:/Qt/Static/5.2.1/lib/ -llibqca INCLUDEPATH += $$PWD/C:/Qt/Static/5.2.1/include DEPENDPATH += $$PWD/C:/Qt/Static/5.2.1/include В ответ получаю - Запускается D:\Projects\DBTest\release\DBTest.exe... Программа неожиданно завершилась. D:\Projects\DBTest\release\DBTest.exe завершился крахом Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 19, 2014, 22:35 проверил, в crypto лежат либы? у меня было пусто там по какой-то неизвестной причине))
Либу в про файле я добавлял c .dll, как файл и есть - не переименовывал. Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 19, 2014, 23:08 Напиши что у тебя в файле pro и куда установлены либы. Я уже не знаю что пробовать. Уже разные варианты перепробовал и результата ноль. >:(
Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 20, 2014, 17:34 Хм, да, не идет статика чего-то..
Словно option(BUILD_SHARED_LIBS "Build shared library" ON) ни на что не влияет вообще ??? Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 20, 2014, 17:38 Вот и я уже неделю играюсь, и никак. >:(
Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 20, 2014, 17:52 Попробовал добавить set(LIBRARY_TYPE "STATIC") в CmakeLists.txt, но получил 1000 ворнингов и 4 ошибки.. Все по поводу dllimport и dll linkage. попробуй тоже, мало ли..
Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 20, 2014, 17:54 Подробнее можно
Название: Re: Нужна помощь - QCA Отправлено: OKTA от Май 20, 2014, 20:26 set(LIBRARY_TYPE "STATIC") добавляешь в CMakeLists.txt, ставишь off в опции shared_library и компилируешь) куда подробнее?))
Название: Re: Нужна помощь - QCA Отправлено: dmitriiv84 от Май 22, 2014, 23:31 Куча warning-ов и ошибок.
|