我应该链接 gecko 1.9.3 SDK 中的哪个库来使用 moz_xmalloc()?

发布于 2024-08-26 00:10:55 字数 374 浏览 8 评论 0原文

我尝试将我的 XPCOM 扩展链接到 1.9.3a3pre SDK,并得到以下信息:

错误LNK2001:无法解析的外部符号_moz_xmalloc

那么,我需要链接到哪个库? 文档没有说明。

目前在 Windows 上运行,但我也需要它在 Mac 和 Linux(32 位/64 位)上构建。

编辑:现在有赏金。

编辑:更新:原来FF3.7被取消了。所以直到FF4之前我都不必担心这个问题。

I'm trying to link my XPCOM extension against the 1.9.3a3pre SDK and I get the following:

error LNK2001: unresolved external symbol _moz_xmalloc

So, what lib do I need to link to? The documentation doesn't say.

This is on Windows right now, but I'll need it to build on Mac and Linux (32bit/64bit) as well.

Edit: Now with bounty.

Edit: Update: Turns out FF3.7 was cancelled. So I don't have to worry about this until FF4.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

一口甜 2024-09-02 00:10:55

我有同样的错误,链接到 mozalloc 有帮助。

I have same error, and linking to mozalloc helps for that.

命比纸薄 2024-09-02 00:10:55

在 C++ 预处理器定义属性中定义“XPCOM_GLUE”。它将修复链接错误。

define 'XPCOM_GLUE' in C++ Preprocessor Definition property. It will fix the linking error.

惯饮孤独 2024-09-02 00:10:55

尝试在编译扩展时定义 MOZ_NO_MOZALLOC,然后您将获得一个使用 CRT 分配器的 DLL。 (不要忘记对 XPCOM 兼容内存使用 NS_* 分配器。)

Try defining MOZ_NO_MOZALLOC when compiling your extension, you will then get a DLL that uses your CRT's allocators. (Don't forget to use the NS_* allocators for XPCOM-compatible memory.)

回心转意 2024-09-02 00:10:55
  1. C++->预处理器->定义属性中添加MOZ_NO_MOZALLOC

  2. 链接器->输入->其他依赖项中使用xpcomglue_s_nomozalloc.lib而不是xpcomglue_s.lib

就可以了!

  1. Add MOZ_NO_MOZALLOC in C++->Preprocessor->Definition property.

  2. Use xpcomglue_s_nomozalloc.lib instead of xpcomglue_s.lib in Linker->Input->Additional Dependencies

It will be OK!

青巷忧颜 2024-09-02 00:10:55

提醒注意:即使项目中的其他所有内容似乎配置正确,也可能导致此问题的另一个选项是指向错误的 libs 文件夹 - 例如 64 位构建的 32 位版本。

edit v40 mozalloc.lib 已更名为 mozglue.lib 并具有一些附加方法。

编辑 v41 mozglue.lib 已更名为 mozcrt.lib

reminder note: another option that can cause this even though everything else seems to be configured correctly in the project, is pointing at the wrong libs folder - such as 32 bit version for a 64 bit build.

edit v40 mozalloc.lib has changed name to mozglue.lib and has some additional methods.

edit v41 mozglue.lib has changed name to mozcrt.lib

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文