首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dyld: Symbol not found:在MacOS上使用javac进行编译时未找到符号:_iconv

dyld: Symbol not found:在MacOS上使用javac进行编译时未找到符号:_iconv
EN

Stack Overflow用户
提问于 2015-05-24 14:22:41
回答 1查看 2.6K关注 0票数 3

我刚刚开始在我的MacOS上使用Java,在使用javac编译我的第一个.java文件时,我得到了以下错误。

代码语言:javascript
复制
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

有人能解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-05-25 19:57:36

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

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

代码语言:javascript
复制
java() 
{ 
    env DYLD_LIBRARY_PATH= java "$@"
}

这将允许您保留已定义的变量,但可以防止在调用这些特定命令行工具时的干扰。

我已经从macports转到了homebrew,它在这方面表现得更好一些-它通常拒绝在不强制问题的情况下将干扰系统库的东西放在路径上-尽管这是个人选择的事情,但并不建议您切换。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30420695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档