Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№125-03-2009 13:28:19

niknik
Участник
 
Группа: Members
Зарегистрирован: 25-03-2009
Сообщений: 1
UA: Firefox 3.0

сборка XPCOM компонента

Добрый день

Версия мозилла 1.9

Собираю фековую динамическую либу c  использованием опции  MOZILLA_INTERNAL_API

void  foo() {
    nsCAutoString charset;
}

Makefile:
CXX   =g++
CPPFLAGS +=     -fno-rtti              \
        -fno-exceptions        \
        -DMOZILLA_INTERNAL_API  \
        -shared
# Change this to point at your Gecko SDK directory.
GECKO_SDK_PATH = /SDK/
GECKO_INCL = /sdk/

GECKO_CONFIG_INCLUDE = -I $(GECKO_INCL)/include/uconv
GECKO_CONFIG_INCLUDE += -I $(GECKO_INCL)/include/xpcom
GECKO_CONFIG_INCLUDE += -I $(GECKO_INCL)/include/string

GECKO_DEFINES  = -DXPCOM_GLUE

GECKO_INCLUDES = -I $(GECKO_SDK_PATH)/include

GECKO_LDFLAGS =  -L $(GECKO_SDK_PATH)/lib -lxpcomglue \
                 -lnspr4      \
                 -lplds4     

FILES =  foo.cpp

TARGET = libfoo.so

build:
    $(CXX)    -Wall -Os -o $(TARGET) $(GECKO_CONFIG_INCLUDE) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(GECKO_LDFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(FILES)
    chmod +x $(TARGET)
    cp $(TARGET) ../base/build

При попытке собрать бинарный файл с использованием этой либы возникает ошибка:
/libfoo.so: undefined reference to `nsACString_internal::~nsACString_internal()'
/libfoo.so: undefined reference to `nsACString_internal::nsACString_internal(char*, unsigned int, unsigned int)'
Если либа собрана без опции  MOZILLA_INTERNAL_API ошибки не возникает

Как можно решить эту проблему, мне необходио линковать либу которая использует  MOZILLA_INTERNAL_API  и возможно ли это сделат для Mozilla 1.9?

Спасибо

Отсутствует

 

№226-03-2009 01:54:09

Crazy-EyE
Участник
 
Группа: Members
Зарегистрирован: 20-06-2008
Сообщений: 81
UA: Firefox 3.0

Re: сборка XPCOM компонента

Видимо, нельзя.

https://developer.mozilla.org/En/XPCOM_Glue:

Internal linkage will be unavailable to extension authors in XULRunner 1.9 (Firefox 3) because the nonfrozen symbols will not be exported from libxul. Extension and application authors currently using internal linkage should read the guide on Migrating from Internal Linkage to Frozen Linkage.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]