Com o que Lib no Gecko 1.9.3 SDK Continuo o Link para usar moz_xmalloc ()?
-
20-09-2019 - |
Pergunta
Estou tentando vincular minha extensão XPCOM contra o 1.9.3A3Pre SDK e recebo o seguinte:
Erro lnk2001: símbolo externo não resolvido _moz_xmalloc
Então, com que lib com que eu preciso vincular? o documentação não diz.
Isso está no Windows agora, mas também precisarei construir no Mac e no Linux (32bits/64bits).
EDIT: Agora com recompensa.
Edit: Atualização: Acontece que o FF3.7 foi cancelado. Portanto, não preciso me preocupar com isso até o FF4.
Solução
definir 'XPCOM_GLUE
'Na propriedade de definição de pré -processador C ++. Isso corrigirá o erro de vinculação.
Outras dicas
Eu tenho o mesmo erro, e o vinculação a Mozalloc ajuda para isso.
Tente definir o moz_no_mozalloc Ao compilar sua extensão, você obterá uma DLL que usa os alocadores do seu CRT. (Não se esqueça de usar os alocadores ns_* para memória compatível com XPCOM.)
Adicionar
MOZ_NO_MOZALLOC
dentro C ++-> Propriedade do Processador-> Definição.Usar
xpcomglue_s_nomozalloc.lib
ao invés dexpcomglue_s.lib
dentro Linker-> input-> dependências adicionais
Ficará tudo bem!
Lembrete Nota: Outra opção que pode causar isso, mesmo que todo o resto pareça estar configurado corretamente no projeto, está apontando para a pasta LIBS errada - como a versão de 32 bits para uma construção de 64 bits.
Editar v40 mozalloc.lib
mudou o nome para mozglue.lib
e tem alguns métodos adicionais.
Editar v41 mozglue.lib
mudou o nome para mozcrt.lib