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

Ветка для общения разработчиков и координации разработки

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

Postby Tvangeste » Wed Jul 13, 2011 3:39 pm

Вот такой вопрос возник. Константин, ты не пробовал? Или оно сразу не подходит из-за того, что у нас всякие библиотеки, которые токмо Mingw и соберутся нормально?
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

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

Postby Tvangeste » Wed Jul 13, 2011 4:16 pm

Собственно, для чего все это нужно.

Время от времени, довольно редко, но все же достаточно, чтобы раздражать мою нежную психику, GoldenDict во время обычного использования падает с ошибкой. Настроить нормальный post-mortem дебаггер для работы с mingw-based бинарниками у меня не получилось, хоть тресни. Dr. Mingw какой-то глючный, не работает как надо, и пользы от него ноль.

А вот нормальный виндовняный post-mortem дебаггер работает хорошо и четко, делает дампы, кажет бэктрейсы, НО так как GD собран mingw'ом, вместо хороших стектрейсов я вижу только абстрактные адреса, а не имена функций.

Вот, думаю, может если собрать GD Visual C++'ом, то смогу наконец-то увидеть где же заковыка...

Или есть какие-то другие способы? Запускать GD из-под gdb не подходит, слишком тормознуто все работает, и постоянно под GDB сидеть в ожидании ошибки не будешь...
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

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

Postby Abs62 » Wed Jul 13, 2011 4:38 pm

Время от времени, довольно редко, но все же достаточно, чтобы раздражать мою нежную психику, GoldenDict во время обычного использования падает с ошибкой.

Ага, давно пора этим заняться. ;)
Судя по симптомам (падения редкие, случайные, при одних и тех же условиях может упасть, а может и нет), где-то нарушается синхронизация потоков. Скажем, один поток обнуляет указатель, а второй в это время его использует. Краш.
Abs62
 
Posts: 622
Joined: Mon Jun 14, 2010 11:51 am

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

Postby Tvangeste » Wed Jul 13, 2011 4:45 pm

Abs62 wrote:Судя по симптомам (падения редкие, случайные, при одних и тех же условиях может упасть, а может и нет), где-то нарушается синхронизация потоков. Скажем, один поток обнуляет указатель, а второй в это время его использует. Краш.


Похоже на то. Вот что я вижу в дебаггере:

Code: Select all
Access violation - code c0000005


Image
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

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

Postby ikm » Mon Jul 18, 2011 7:42 am

Когда-то давно программа собиралась MSVC, однако с тех пор прошло много времени, и, скорее всего, без доточки оно сейчас не соберется. Я бы рекомендовал все-таки разобраться, как получать нормальные бэктрейсы с mingw. Как минимум, надо использовать дебажную сборку, а дальше уже искать в интернете, как обычно :)
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

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

Postby Tvangeste » Mon Jul 18, 2011 1:35 pm

ikm wrote:Я бы рекомендовал все-таки разобраться, как получать нормальные бэктрейсы с mingw. Как минимум, надо использовать дебажную сборку, а дальше уже искать в интернете, как обычно :)

Так засада еще и в том, что на дебажном билде, как обычно, ничего не падает! 8-)
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

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

Postby Abs62 » Mon Jul 18, 2011 2:26 pm

Падает. Просто реже, чем в релизном. Не каждый день. ;)

А подточить под VC не так и сложно. Только надо ещё и hunspell пересобрать под VC.

Кстати, я смотрю, в winlibs лежит libhunspell-1.2, а текущая вроде как 1.3.1. Есть резон обновить?
Abs62
 
Posts: 622
Joined: Mon Jun 14, 2010 11:51 am

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

Postby ikm » Tue Jul 19, 2011 5:46 pm

Обновить hunspell можно.

По поводу дебага - собрать релизную сборку с дебажными символами вполне можно, для этого надо поковыряться в настройках компилятора/линкера.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

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

Postby Abs62 » Tue Jul 19, 2011 6:08 pm

Обновить hunspell можно.

А libiconv? В winlibs лежит версия 1.9.2.1747, а последняя официальная - 1.13.1. Я у себя с ней собрал - вроде как всё работает.

И убрать лишнее из winlibs. Там большая часть файлов для сборки не требуется.
Abs62
 
Posts: 622
Joined: Mon Jun 14, 2010 11:51 am

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

Postby Tvangeste » Tue Jul 19, 2011 6:10 pm

Abs62 wrote:
Обновить hunspell можно.

А libiconv? В winlibs лежит версия 1.9.2.1747, а последняя официальная - 1.13.1. Я у себя с ней собрал - вроде как всё работает.

И убрать лишнее из winlibs. Там большая часть файлов для сборки не требуется.

Так совсем недавно обсуждали: viewtopic.php?f=11&t=1171

Да, надо бы все почистить, у кого руки дойдут. :)
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

Next

Return to Разработка

Who is online

Users browsing this forum: No registered users and 1 guest