mmmx1234567
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте! Помогите, пожалуйста, со сборкой работающей версии Goldendict. Пробовал собрать из следующих репозиториев: https://github.com/goldendict/goldendict https://github.com/Abs62/goldendict https://github.com/GD-fix/goldendict Удалось получить что-то более-менее работающее из: https://github.com/nonwill/goldendict См.: https://github.com/goldendict/goldendict/issues/1266 Можно ли получить рабочую версию из репозитория, по метке или какому-нибудь коммиту? Под какие версии Qt, Windows SDK, Visual Studio, версии компилятора в Visual Studio, можно собрать под Windows? Можно ли, например в 2019 студии собирать 2017 компилятором с GoldenDict_libs_VS2015_x64_v4 и qtwebkit-5.212.0_alpha2-qt59-msvc2015-x64.zip? Под MinGW собрать вообще не удалось. И можно ли собрать под MinGW для x64, и в какой версии Qt? Как можно исправить приведенные ниже ошибки? Собирал под Qt 5.9 и Qt 5.14.1: На: https://github.com/qtwebkit/qtwebkit/releases, существуют скомпилированные qtwebkit только под версии: Qt 5.14.1 Qt 5.13 Qt 5.9 Мне удалось собрать под Windows VS2015 x64, только выполнив следующее: 1. Переименовывая в libzstd_static.lib в zstd.lib. Чтобы получить libzstd_static.lib её пришлось скачать из: https://github.com/facebook/zstd/releases Иначе не удается собрать проект, т.к. выдается ошибка: LINK : fatal error LNK1181: не удается открыть входной файл "zstd.lib" Её ещё не включили в: GoldenDict_libs_VS2015_x64_v4.7z - for MS Visual Studio 2015, 64 bit Или вместо этого, можно убрать: CONFIG += zim_support, в: goldendict.pro, но это отключит поддержку для словарей данного типа. 2. Также пришлось задать: "CONFIG+=no_ffmpeg_player" Т.к. иначе, выдавалась следующая ошибка при сборе: ffmpegaudio.obj : error LNK2019: ссылка на неразрешенный внешний символ avcodec_parameters_to_context в функции "public: bool __cdecl Ffmpeg::DecoderContext::openCodec(class QString &)" (?openCodec@DecoderContext@Ffmpeg@@QEAA_NAEAVQString@@@Z) ffmpegaudio.obj : error LNK2019: ссылка на неразрешенный внешний символ avcodec_send_packet в функции "public: bool __cdecl Ffmpeg::DecoderContext::play(class QString &)" (?play@DecoderContext@Ffmpeg@@QEAA_NAEAVQString@@@Z) ffmpegaudio.obj : error LNK2019: ссылка на неразрешенный внешний символ avcodec_receive_frame в функции "public: bool __cdecl Ffmpeg::DecoderContext::play(class QString &)" (?play@DecoderContext@Ffmpeg@@QEAA_NAEAVQString@@@Z) debug\GoldenDict.exe : fatal error LNK1120: неразрешенных внешних элементов: 3 jom: C:\Prj1\build-goldendict-Desktop_Qt_5_14_1_MSVC2015_64bit-Debug\Makefile.Debug [debug\GoldenDict.exe] Error 1120 jom: C:\Prj1\build-goldendict-Desktop_Qt_5_14_1_MSVC2015_64bit-Debug\Makefile [debug] Error 2 После этого мой проект собрался. Как можно добавить ffmpeg? 3. При запуске не индексируются и не подключаются, если даже проиндексированы, DSL словари. Выдаются следующие сообщения об ошибках, при каждом открытии очередного словаря: Application output: DSL dictionary reading failed: C:\dict\Common\En-Ru-Apresyan.dsl.dz:0, error: An error has occurred during character conversion: No such file or directory c:\prj1\goldendict\iconv.cc:66: предупреждение: В отладчике возникла ошибка: Exception at 0x7ffb12ce3e49, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) Замечу, что данные словари отлично подключаются в других сборках из: https://sourceforge.net/projects/goldendict/files/early%20access%20builds/Qt5-based/ Но в этих проектах из репозиториев происходят ошибки. Stardict словари индексируются и подключаются, если проиндексированы. mdx словари не индексируются но подключаются, если проиндексированы, при этом статьи из них не показываются, они пустые. ------------------------------------------------------------------------------------------------------------------------------- c:\prj1\goldendict\main.cc:235: предупреждение: В отладчике возникла ошибка: Exception at 0x7ffb12ce3e49, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) c:\prj1\goldendict\iconv.cc:66: предупреждение: В отладчике возникла ошибка: Exception at 0x7ffb12ce3e49, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) c:\prj1\goldendict\iconv.cc:66: предупреждение: В отладчике возникла ошибка: Exception at 0x7ffb12ce3e49, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) ------------------------------------------------------------------------------------------------------------------------------- No favorities file found Reloading all the tabs... DSL dictionary reading failed: C:\dict\Common\En-Ru-Apresyan.dsl.dz:0, error: An error has occurred during character conversion: No error DSL dictionary reading failed: C:\dict\En-En-Longman_Pronunciation\En-En-Longman _Pronunciation.dsl.dz:0, error: An error has occurred during character conversio n: No error Exception at 0x7ffc9d6688dc, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at c:\prj1\goldendict\main.cc:246 Exception at 0x7ffc9d6688dc, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at c:\prj1\goldendict\iconv.cc:66 Exception at 0x7ffc9d6688dc, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at c:\prj1\goldendict\iconv.cc:66 ------------------------------------------------------------------------------------------------------------------------------- При индексировании mdx словаря выдается ошибка: bad allocation. ---------------------------------------------------------------------------------------------------- Собирал из разных репозиториев, в том числе выгружал из git по тегам. Вот некоторые примеры ошибок при компиляции для репозитория: https://github.com/Abs62/goldendict Для тегов: git checkout continuous git checkout 1.5.0-RC2 ------------------------------------------------------------ MinGW 32-bit C:\Prj1\Abs62\goldendict_continuous\hunspell.cc:-1: error: undefined reference to `Hunspell::spell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' build/hunspell.o:hunspell.cc .text+0x1666): undefined reference to `Hunspell::spell(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' build/hunspell.o:hunspell.cc .text+0x1683): undefined reference to `Hunspell::suggest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' build/hunspell.o:hunspell.cc .text+0x23d2): undefined reference to `Hunspell::analyze(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ------------------------------------------------------------ MinGW 64-bit :-1: error: unrecognized option '--large-address-aware' Хотя в goldendict.pro: !x64:QMAKE_LFLAGS += -Wl,--large-address-aware ------------------------------------------------------------ Qt 5.14.1 MSVC2015 64bit Release Тег: 1.5.0-RC2 C:\Prj1\Abs62\goldendict_1.5.0-RC2\groups_widgets.hh:223: error: C2079: 'QuickFilterLine::m_focusAction' uses undefined class 'QAction' Даже если все #include добавить, и запустить, то все равно получается нерабочая версия. |