当前位置:首页 > 操作系统 > MacOs

dyld:未找到符号:在MacOS上使用javac进行编译时,_iconv

我刚刚开始在MacOS上使用Java,并且使用javac编译第一个.java文件时出现以下错误.

<code>dyld: Symbol not found: _iconv
  Referenced from: /usr/lib/libcups.2.dylib
  Expected in: /opt/local/lib/libiconv.2.dylib
 in /usr/lib/libcups.2.dylib
Trace/BPT trap: 5
</code>

谁能解决这个问题?

解决方法:

使用macports时,这是一个常见问题,并且您将DYLD_LIBRARY_PATH变量设置为具有/ opt / local / lib. macports中有一些库可能会干扰系统库,在这种情况下,当您进入命令行时将导致程序无法启动.

解决方法是未设置外壳程序的变量,但这可能会导致运行其他macports应用程序时出现问题.如果您只是从命令行运行,则可以在.bashrc中创建不带变量的运行命令的函数,例如

<code>java() 
{ 
    env DYLD_LIBRARY_PATH= java "$@"
}
</code>

与javac等类似.这将允许您保留定义的变量,但可以防止在调用这些特定的命令行工具时产生干扰.

我已经从macports移到了homebrew,在这方面表现要好一些-它通常拒绝在不强迫问题的情况下将干扰系统库的内容放到路径中-这是个人选择,但并不是建议您进行切换.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐