А GoldenDict можно собирать MS Visual C++?

Posted:
Wed Jul 13, 2011 3:39 pm
by Tvangeste
Вот такой вопрос возник. Константин, ты не пробовал? Или оно сразу не подходит из-за того, что у нас всякие библиотеки, которые токмо Mingw и соберутся нормально?
Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Wed Jul 13, 2011 4:16 pm
by Tvangeste
Собственно, для чего все это нужно.
Время от времени, довольно редко, но все же достаточно, чтобы раздражать мою нежную психику, GoldenDict во время обычного использования падает с ошибкой. Настроить нормальный post-mortem дебаггер для работы с mingw-based бинарниками у меня не получилось, хоть тресни. Dr. Mingw какой-то глючный, не работает как надо, и пользы от него ноль.
А вот нормальный виндовняный post-mortem дебаггер работает хорошо и четко, делает дампы, кажет бэктрейсы, НО так как GD собран mingw'ом, вместо хороших стектрейсов я вижу только абстрактные адреса, а не имена функций.
Вот, думаю, может если собрать GD Visual C++'ом, то смогу наконец-то увидеть где же заковыка...
Или есть какие-то другие способы? Запускать GD из-под gdb не подходит, слишком тормознуто все работает, и постоянно под GDB сидеть в ожидании ошибки не будешь...
Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Wed Jul 13, 2011 4:38 pm
by Abs62
Время от времени, довольно редко, но все же достаточно, чтобы раздражать мою нежную психику, GoldenDict во время обычного использования падает с ошибкой.
Ага, давно пора этим заняться.

Судя по симптомам (падения редкие, случайные, при одних и тех же условиях может упасть, а может и нет), где-то нарушается синхронизация потоков. Скажем, один поток обнуляет указатель, а второй в это время его использует. Краш.
Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Wed Jul 13, 2011 4:45 pm
by Tvangeste
Abs62 wrote:Судя по симптомам (падения редкие, случайные, при одних и тех же условиях может упасть, а может и нет), где-то нарушается синхронизация потоков. Скажем, один поток обнуляет указатель, а второй в это время его использует. Краш.
Похоже на то. Вот что я вижу в дебаггере:
- Code: Select all
Access violation - code c0000005

Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Mon Jul 18, 2011 7:42 am
by ikm
Когда-то давно программа собиралась MSVC, однако с тех пор прошло много времени, и, скорее всего, без доточки оно сейчас не соберется. Я бы рекомендовал все-таки разобраться, как получать нормальные бэктрейсы с mingw. Как минимум, надо использовать дебажную сборку, а дальше уже искать в интернете, как обычно

Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Mon Jul 18, 2011 1:35 pm
by Tvangeste
ikm wrote:Я бы рекомендовал все-таки разобраться, как получать нормальные бэктрейсы с mingw. Как минимум, надо использовать дебажную сборку, а дальше уже искать в интернете, как обычно

Так засада еще и в том, что на дебажном билде, как обычно, ничего не падает!

Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Mon Jul 18, 2011 2:26 pm
by Abs62
Падает. Просто реже, чем в релизном. Не каждый день.

А подточить под VC не так и сложно. Только надо ещё и hunspell пересобрать под VC.
Кстати, я смотрю, в winlibs лежит libhunspell-1.2, а текущая вроде как 1.3.1. Есть резон обновить?
Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Tue Jul 19, 2011 5:46 pm
by ikm
Обновить hunspell можно.
По поводу дебага - собрать релизную сборку с дебажными символами вполне можно, для этого надо поковыряться в настройках компилятора/линкера.
Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Tue Jul 19, 2011 6:08 pm
by Abs62
Обновить hunspell можно.
А libiconv? В winlibs лежит версия 1.9.2.1747, а последняя официальная - 1.13.1. Я у себя с ней собрал - вроде как всё работает.
И убрать лишнее из winlibs. Там большая часть файлов для сборки не требуется.
Re: А GoldenDict можно собирать MS Visual C++?

Posted:
Tue Jul 19, 2011 6:10 pm
by Tvangeste
Abs62 wrote:Обновить hunspell можно.
А libiconv? В winlibs лежит версия 1.9.2.1747, а последняя официальная - 1.13.1. Я у себя с ней собрал - вроде как всё работает.
И убрать лишнее из winlibs. Там большая часть файлов для сборки не требуется.
Так совсем недавно обсуждали:
viewtopic.php?f=11&t=1171Да, надо бы все почистить, у кого руки дойдут.
