Lo lib en el SDK de Gecko 1.9.3 enlazo en contra de usar moz_xmalloc ()?
-
20-09-2019 - |
Pregunta
Estoy intentando conectar mi extensión XPCOM contra el SDK 1.9.3a3pre y me sale lo siguiente:
LNK2001 error: símbolo externo sin resolver _moz_xmalloc
Entonces, ¿qué lib Qué necesito para enlazar a? Los href="https://developer.mozilla.org/en/Infallible_memory_allocation" no dice.
Esto es en Windows en este momento, pero lo que necesita para construir en Mac y Linux (32 bits / 64 bits) también.
Editar:. Ahora, con abundancia
Editar: Actualización: Resulta que FF3.7 fue cancelada. Por lo que no tiene que preocuparse de esto hasta FF4.
Solución
definir 'XPCOM_GLUE
' en C ++ preprocesador propiedad Definition. Se fijará el error de enlace.
Otros consejos
Tengo mismo error, y la vinculación a mozalloc ayuda para eso.
Trate de definir MOZ_NO_MOZALLOC al compilar su extensión, a continuación, recibirá un DLL que utiliza asignadores de su CRT. (No se olvide de utilizar el NS_ * asignadores de memoria compatible con XPCOM.)
-
Añadir
MOZ_NO_MOZALLOC
en C ++ -.> Preprocessor-> Definición propiedad -
Uso
xpcomglue_s_nomozalloc.lib
en lugar dexpcomglue_s.lib
en Linker-> input-> Dependencias adicionales
Se va a estar bien!
nota de aviso: otra opción que puede causar esto a pesar de todo lo demás parece estar configurado correctamente en el proyecto, está apuntando a la carpeta libs equivocada - versión como de 32 bits para una generación de 64 bits .
editar v40 mozalloc.lib
ha cambiado de nombre a mozglue.lib
y tiene algunos métodos adicionales.
editar v41 mozglue.lib
ha cambiado de nombre a mozcrt.lib