New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Сборка под Mac OS

Обо всём по программе

Сборка под Mac OS

Postby gromescu » Thu Apr 23, 2009 10:15 pm

Всем хорош GoldenDict, но сборки под мак явно нехватает до полного комплекта. Вот и посетила меня такая идея собрать программку под макосью. Т.к. никогда под мак ничего не собирал, то сразу возникает несколько вопросов 1. Достаточно ли будет одного qtcreator'a? 2. Каков шанс, что соберется без танцев с бубном?
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

Re: Сборка под Mac OS

Postby ikm » Thu Apr 23, 2009 10:52 pm

Во-первых, есть платформозависимые вещи. Сейчас это как минимум глобальные горячие клавиши. На данный момент они реализованы только для X11 и для win32. В принципе, их можно отключить, но это как-то нехорошо получится по отношению к маководам :) Во-вторых, все библиотеки, от которых программа зависит -- iconv, zlib, libogg/vorbis/vorbisfile, libzip, libhunspell, и так далее, если что забыл -- придется тоже собрать. Часть, возможно, входит в поставку OS X. Часть, возможно, уже есть где-то собранные. Но это всё надо будет разгугливать.

Вообще, в целом, я думаю, сделать маковскую сборку проще, чем было делать виндовую. Но совсем просто это не будет. Программа довольно от многого зависит. И некоторые вещи заточены в ней с помощью ifdef под ту или иную платформу.

Креатора достаточно, но в нём скорее всего придется сделать чуть больше, чем просто нажать на 'Run' ;) В любом случае, попробовать, я думаю, можно :)
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Сборка под Mac OS

Postby dark_elf » Fri Apr 24, 2009 6:57 pm

Понадобилось собрать libogg, vorbis, libzip, libhunspell.

iconv, zlib входят в поставку MacOS (ну или может XCode).

Горячие клавиши увы работать не будут.

Сборку залил здесь:

http://depositfiles.com/files/vgoobeb69

P.S. Сборка для Intel (на PowerPC не пойдёт)
dark_elf
 
Posts: 15
Joined: Fri Apr 24, 2009 4:02 pm

Re: Сборка под Mac OS

Postby ikm » Fri Apr 24, 2009 8:25 pm

Выложил, спасибо!:)

А оно вообще как, на маке работает? А то никто не пробовал никогда :)
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Сборка под Mac OS

Postby dark_elf » Fri Apr 24, 2009 9:05 pm

Работает, только вот клавиши горячие не работают что и неудивительно :)

(Хотя я мог что-то не заметить так как не проводил тестирование сравнимое с Вашим).
dark_elf
 
Posts: 15
Joined: Fri Apr 24, 2009 4:02 pm

Re: Сборка под Mac OS

Postby gromescu » Sat Apr 25, 2009 1:45 pm

Сходу пару багов, которые удалось заметить:
1. В настройках групп, при вводе названия не видно что вводится.
2. Какая-то проблема с кодировками. Судля по всему проблема с dsl словарями - в стардиковских все впорядке. Словари у меня в utf-16. Не знаю это макоспецифичное что-то или нет, на позавчерашней сборке из svn на linux ничего подобного не видел

http://ipicture.ru/Gallery/Viewfull/17940429.html

3. В списке слов при наборе слова иногда не отображаются, хотя на самом деле они есть - если нажать стрелку вниз то в окне перевода они появятся - http://ipicture.ru/Gallery/Viewfull/17940585.html
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

Re: Сборка под Mac OS

Postby ikm » Sat Apr 25, 2009 9:34 pm

Ребят, я с маком могу помочь только опосредованно, потому что у меня его нет и я им никогда не пользовался. Если что, задавайте вопросы по структуре программы, отвечу.

Сейчас могу сказать, что пока причина столь странного рендера статьи мне неясна. Что до исчезающих строк, это ОЧЕНЬ похоже на какой-то глюк Qt. Хотя конечно это настолько явный глюк, что тут совсем что-то не так. То есть, пока складывается ощущение, что что-то не то с Qt (то ли собрана неправильно, то ли еще что-то).

По поводу рендера статьи, прямо сейчас можно сделать следующее. В файл article_maker.cc, в районе строки 322, после строк

Code: Select all
        if ( req.dataSize() > 0 )
          bodyRequests.front()->getDataSlice( 0, req.dataSize(),
                                              &data.front() + offset + head.size() );


Добавить следующее:

Code: Select all
        FILE * f = fopen( "/tmp/article_body.html", "wb" );
        fwrite( &data.front(), data.size(), 1, f );
        fclose( f );


/tmp/article_body.html можно заменить на какое-нибудь вменяемое имя файла, куда можно писать в Mac OS X, потому что я понятия не имею, какая там файловая иерархия :)

Далее компилируем программу, запускаем, делаем поиск 'casa', выводим текст статьи в окно. Когда он полностью вывелся, выходим из программы, не совершаяя в ней более никаких действий, и смотрим на результирующий файл (просто открываем браузером). Если статья выглядит нормально, значит это косяк QtWebKit. Если битая, значит, это gd виноват. Дальше будем смотреть по обстоятельствам.

Вообще, нам нужен майнтейнер программы под Mac OS X. Если есть желание разбираться со всеми этими косяками, а также собирать программу в будущем, отпишитесь.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Сборка под Mac OS

Postby dark_elf » Sun Apr 26, 2009 4:43 pm

2. Какая-то проблема с кодировками. Судля по всему проблема с dsl словарями - в стардиковских все впорядке. Словари у меня в utf-16. Не знаю это макоспецифичное что-то или нет, на позавчерашней сборке из svn на linux ничего подобного не видел


проблема в том что я не знаю как на маке заменить эту функцию

http://linux.die.net/man/3/wcscasecmp

может знает кто?
dark_elf
 
Posts: 15
Joined: Fri Apr 24, 2009 4:02 pm

Re: Сборка под Mac OS

Postby gromescu » Sun Apr 26, 2009 7:30 pm

dark_elf
Можешь расказать как собирать? Поставил qtcreator и xcode, скачал исходники. Делаю qmake ни на что не ругаясь проходит. make - make: *** No targets specified and no makefile found. Stop.
Что-то я явно делаю не так
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

Re: Сборка под Mac OS

Postby dark_elf » Mon Apr 27, 2009 4:27 pm

gromescu wrote:Можешь расказать как собирать? Поставил qtcreator и xcode, скачал исходники. Делаю qmake ни на что не ругаясь проходит. make - make: *** No targets specified and no makefile found. Stop.
Что-то я явно делаю не так


Похоже что у тебя стоит XCode... и поэтому вместо makefile генерится .xcodeproj (для сборки с помощью Qt Creator он и не нужен файла .pro достаточно).

В общем:

1. Собираешь под маком libogg, vorbis, libzip, libhunspell (configure, make, make install)
2. Запускаешь компиляцию на Qt Creator или XCode
3. Смотришь какие ошибки появились - там 2 источника ошибок:
а) платформеннозависимая работа с горячими клавишами
б) Функция http://linux.die.net/man/3/wcscasecmp которую надо как-то заменить чтобы не было проблем с кодировками со словарями из Лингво.
4. Соотвественно комментишь то что надо и всё компилится.
dark_elf
 
Posts: 15
Joined: Fri Apr 24, 2009 4:02 pm

Next

Return to Общий

Who is online

Users browsing this forum: Google [Bot] and 18 guests