Процедуры iconv преобразуются в имена libiconv_ и не могут установить связь в OS X - PullRequest
1 голос
/ 28 декабря 2010

Я пытаюсь собрать Hercules из последней Subversion на Mac OS X 10.6. Он использует библиотеку iconv для перевода символов. В коде Геркулеса используются iconv_open (), iconv () и iconv_close (). Эти подпрограммы также присутствуют в системной библиотеке на 10.6, под этими именами. Есть только одна проблема: я получаю сбои ссылок для libiconv_open (), libiconv () и libiconv_close ().

Я всю свою систему охотился за тем, где имена меняются с iconv * на libiconv *, и ничего не нашел. Ничто в кодексе Геркулеса не делает этого. Другие люди могут нормально строить на текущей OS X.

Я упускаю что-то простое, но просто не могу найти это. Помощь

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Я получил это:

checking for iconv_open in -liconv... yes
checking for iconv... yes
....
Undefined symbols:
  "_libiconv_open", referenced from:
      _SDL_iconv_string in SDL_iconv.o
      _SDL_iconv_string in SDL_iconv.o
  "_libiconv", referenced from:
      _SDL_iconv in SDL_iconv.o
      _SDL_iconv_string in SDL_iconv.o
  "_libiconv_close", referenced from:
      _SDL_iconv_string in SDL_iconv.o
      _SDL_iconv_string in SDL_iconv.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [build/libSDL.la] Error 1

, пока я не удалил две другие мои копии в / opt / local и / usr / local (из Macports и необработанной сборки пакета GNU). Тогда это сработало.

0 голосов
/ 11 августа 2013

С опозданием, в моем случае это сделала следующая строка (MacOS X 10.8.4):

CFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/' LDFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/ -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/' ./configure

Мне пришлось переопределить автоинструментальные средства LDFLAGS, чтобы указать скрипту configure использовать поставляемые библиотеки.с XCode SDK.

...