我正在尝试在 Mac OS X Lion 中编译 GCC 4.5.1。
我的 libiconv 有问题。首先,它抱怨架构 x86_64 的未定义符号,它们是:_iconv、_iconv_open 和 _iconv_close。我发现 MacPorts 版本的 libiconv 将它们重命名为:_libiconv、_libiconv_open 和 _libiconv_close。因此,我链接到 /usr/lib 中的 Mac OS 本机 libiconv,而不是 /opt/local/lib 中的 MacPorts 库。
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
_convert_using_iconv in libcpp.a(charset.o)
__nl_find_msg in libintl.a(dcigettext.o)
(maybe you meant: __cpp_destroy_iconv, _cpp_init_iconv )
"_iconv_close", referenced from:
__cpp_destroy_iconv in libcpp.a(charset.o)
__cpp_convert_input in libcpp.a(charset.o)
__nl_free_domain_conv in libintl.a(loadmsgcat.o)
"_iconv_open", referenced from:
_init_iconv_desc in libcpp.a(charset.o)
__nl_init_domain_conv in libintl.a(loadmsgcat.o)
然而,在这样做之后,我尝试从头开始重建它(清理和所有内容),但随后它在不同的点抱怨未定义的符号,但这次是 _libiconv、_libiconv_open 和 _libiconv_close。
Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
_identifier_to_locale in libbackend.a(pretty-print.o)
"_libiconv_close", referenced from:
_identifier_to_locale in libbackend.a(pretty-print.o)
"_libiconv_open", referenced from:
_identifier_to_locale in libbackend.a(pretty-print.o)
我有什么想法可以处理这个问题吗?我找到了一些从 MacPorts 卸载 libiconv 的解决方案,但我不想这样做,因为我有很多端口依赖于它。