gpt4 book ai didi

c++ - 找不到符号 : _libintl_gettext

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:34 24 4
gpt4 key购买 nike

我正在尝试使用 C++ 和 node-gyp 创建一个 NodeJS 模块。该包依赖于 GNU 的 Gettext 库。我目前正在使用 Mac OS X Mountain Lion。我已经尝试通过手动方式、通过 Homebrew 甚至通过 Fink 自己安装该软件包。

程序通过 Terminal.app 运行,包编译。我可以很好地使用 .node 模块,除非我在库中使用一个使用 gettext 的方法。我在 REPL 中收到以下错误,然后 REPL 退出。

dyld: lazy symbol binding failed: Symbol not found: _libintl_gettext
Referenced from: /Users/KevinMartin/Dropbox/www/node-locale/build/Release/locale.node
Expected in: dynamic lookup

dyld: Symbol not found: _libintl_gettext
Referenced from: /Users/KevinMartin/Dropbox/www/node-locale/build/Release/locale.node
Expected in: dynamic lookup

Trace/BPT trap: 5

提前致谢。

最佳答案

这可能是因为您没有将 libintl 列为要动态链接的库。您需要添加如下内容:

{
"targets": [
{
"target_name": "...",
"sources": ["..."],
"libraries": ["/path/to/gettext/lib/libintl.a"]
}
}

到您的 binding.gyp 文件。 libintl 未在您的应用程序中静态或动态链接,这就是您收到符号错误的原因。

编辑:

你或许也可以这样做:

{
"targets": [{
"target_name": "...",
"sources": [
"..."
],
"link_settings": {
"libraries": ["libintl.8.dylib"]
}
}]
}

关于c++ - 找不到符号 : _libintl_gettext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13759044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com