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

Сборка под Mac OS

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

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

Postby dark_elf » Tue Sep 01, 2009 6:52 pm

Ту написано про кроссплатформенную реализацию горячих клавиш

http://wincode.org.ua/?p=156
dark_elf
 
Posts: 15
Joined: Fri Apr 24, 2009 4:02 pm

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

Postby ikm » Tue Sep 01, 2009 7:14 pm

Лицензия libqxt не совместима с (L)GPL. А вообще, просто нет никого, кто хочет заниматься поддержкой mac os x.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

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

Postby gromescu » Wed Sep 09, 2009 2:41 pm

Дошли руки до сборки. Долго ковырялся. Теперь застопорился на

Code: Select all
ld: library not found for -lXtst
collect2: ld returned 1 exit status
make: *** [goldendict.app/Contents/MacOS/goldendict] Error 1


Xtst как я понимаю - это что-то от X11.
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

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

Postby ikm » Fri Sep 11, 2009 8:44 pm

Да, это код, относящийся к горячим клавишам.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

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

Postby ZaiS » Fri Oct 09, 2009 5:25 pm

Можно еще раз бинарники 0.9 выложить?
ZaiS
 
Posts: 3
Joined: Fri Oct 09, 2009 5:24 pm

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

Postby gromescu » Sat Oct 10, 2009 2:27 pm

Блин, как же все под макосью запутано. Что бы не делал, сборка заканчивается на

Code: Select all
Undefined symbols:
  "QHotkeyApplication::QHotkeyApplication(int&, char**)", referenced from:
      _main in main.o
  "_iconv_open", referenced from:
      Babylon::convertToUtf8(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int)in bgl_babylon.o
      Iconv::reinit(char const*, char const*)in iconv.o
      Iconv::Iconv(char const*, char const*)in iconv.o
      Iconv::Iconv(char const*, char const*)in iconv.o
  "_iconv_close", referenced from:
      Babylon::convertToUtf8(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int)in bgl_babylon.o
      Iconv::~Iconv()in iconv.o
      Iconv::~Iconv()in iconv.o
      Iconv::reinit(char const*, char const*)in iconv.o
  "_iconv", referenced from:
      Babylon::convertToUtf8(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int)in bgl_babylon.o
      Babylon::convertToUtf8(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int)in bgl_babylon.o
      Iconv::convert(void const*&, unsigned long&, void*&, unsigned long&)in iconv.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [goldendict.app/Contents/MacOS/goldendict] Error 1

Подскажите куда копать?
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

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

Postby ikm » Sat Oct 10, 2009 3:09 pm

Во-первых, проблема с отсутствием библиотеки iconv при линковке -- видимо, её нет в списке.
Во-вторых, определение конструктора QHotkeyApplication отсутствует. Видимо, вы его вырезали? Его надо оставить. Резать надо HotkeyWrapper. Для macosx его вообще можно пока превратить в пустышку типа:
Code: Select all
class HotkeyWrapper : public QObject
{
  Q_OBJECT

  friend class QHotkeyApplication;

public:

  DEF_EX( exInit, "Hotkey wrapper failed to init", std::exception )

  HotkeyWrapper(QObject *parent): QObject( parent )
  {}

  bool setGlobalKey( int key, int key2, Qt::KeyboardModifiers modifier,
                     int handle )
  { return true; }

  void unregister()
  {}

signals:

  void hotkeyActivated( int );
};

А в .cc-файле соответственно вообще всё на тему HotkeyWrapper-а выкинуть.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

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

Postby gromescu » Sat Oct 10, 2009 6:08 pm

Так, с хоткеями вроде разобрался. Теперь не пойму что с iconv делать. Google подсказал, что надо обновить версию, установленную в системе. Обновился (собрал из исходников). Проблема со сборкой осталась, так еще хуже того - сборка gd 0.8 перестала запускаться, вылетает с
Code: Select all
dyld: lazy symbol binding failed: Symbol not found: _iconv_open
  Referenced from: /Applications/goldendict.app/Contents/MacOS/goldendict
  Expected in: /usr/lib/libiconv.2.dylib

dyld: Symbol not found: _iconv_open
  Referenced from: /Applications/goldendict.app/Contents/MacOS/goldendict
  Expected in: /usr/lib/libiconv.2.dylib

Trace/BPT trap
logout

:(
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

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

Postby ikm » Sat Oct 10, 2009 6:25 pm

Ну, тут уж не знаю. В linux iconv вообще в libc входит. Что там в маке - не знаю.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

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

Postby gromescu » Sun Oct 11, 2009 12:18 am

Так. В макоси оказывается libiconv какой-то хитропатчный. Сижу думаю тперь, как откатиться. Есть еще мысль, что компилятор пытался обратиться не к системной libiconv, а к той что у меня лежит в /opt/local (установлена из macports) Как восстановлю системную - проверю. Теперь такой момент: судя по тексту ошибки iconv нужен для словарей babylon. Это так? Если я закоменчу то, что относится к iconv и бабилону, не повляет ли это на работу gd? Babylon я все равно не использую, да и судя по сборкам от dark_elf он на маке толком не работает.
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

PreviousNext

Return to Общий

Who is online

Users browsing this forum: No registered users and 39 guests