编程语言
首页 > 编程语言> > dyld:未找到符号:在MacOS上使用javac进行编译时,_iconv

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

作者:互联网

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

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

谁能解决这个问题?

解决方法:

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

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

java() 
{ 
    env DYLD_LIBRARY_PATH= java "$@"
}

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

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

标签:dyld,compiler-errors,java,macos
来源: https://codeday.me/bug/20191120/2042687.html