2

我正在尝试将我的 XPCOM 扩展与 1.9.3a3pre SDK 链接起来,我得到以下信息:

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

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

这现在在 Windows 上,但我也需要它在 Mac 和 Linux(32 位/64 位)上构建。

编辑:现在有赏金。

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

4

5 回答 5

4

我有同样的错误,链接到 mozalloc 有助于解决这个问题。

于 2010-03-19T07:39:44.730 回答
1

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

于 2010-04-13T21:21:03.310 回答
1

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

于 2011-11-08T20:30:46.080 回答
1
  1. 添加C++->预处理器->定义MOZ_NO_MOZALLOC属性。

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

一切都会安好的!

于 2013-05-24T03:31:40.610 回答
0

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

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

编辑 v41 mozglue.lib已将名称更改为mozcrt.lib

于 2013-11-01T21:47:57.613 回答