moz_xmalloc() を使用するには、gecko 1.9.3 SDK のどのライブラリにリンクすればよいですか?

StackOverflow https://stackoverflow.com/questions/2459033

質問

XPCOM 拡張機能を 1.9.3a3pre SDK にリンクしようとすると、次のような結果が得られます。

エラーLNK2001:未解決の外部シンボル _moz_xmalloc

それで、どのライブラリにリンクする必要があるのでしょうか?の ドキュメンテーション とは言いません。

これは現在 Windows 上にありますが、Mac や Linux (32 ビット/64 ビット) 上でもビルドする必要があります。

編集:今なら報奨金付き。

編集:アップデート:FF3.7は中止になったみたいですね。なのでFF4までは気にする必要はありません。

役に立ちましたか?

解決

C ++プリプロセッサ定義プロパティの 'XPCOM_GLUE' を定義。これは、リンクエラーを修正します。

他のヒント

私は同じエラーを持っている、とmozallocにリンクすると、そのために役立ちます。

あなたの拡張機能をコンパイルするとき、あなたは、あなたのCRTのアロケータを使用してDLLを取得しますMOZ_NO_MOZALLOCを定義してみます。 (XPCOM互換メモリ用NS_ *アロケータを使用することを忘れないでください。)

  1. 追加 MOZ_NO_MOZALLOCC++ -> プリプロセッサ -> 定義プロパティ.

  2. 使用 xpcomglue_s_nomozalloc.lib の代わりに xpcomglue_s.libリンカー -> 入力 -> 追加の依存関係

大丈夫でしょう!

リマインダーメモ: プロジェクト内で他のすべてが正しく構成されているように見えても、これを引き起こす可能性があるもう 1 つのオプションは、間違った libs フォルダーを指していることです (64 ビット ビルドの 32 ビット バージョンなど)。

v40 を編集 mozalloc.lib に名前が変わりました mozglue.lib いくつかの追加メソッドがあります。

v41 を編集 mozglue.lib に名前が変わりました mozcrt.lib

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top