Комментарии 17
Отличная статья.
я правильно понял, что все это актуально только для windows версии?
описание — действительно только для windows-версии, но общий принцип под *nix. сохраняется
вообще, никаких специальных изменеий для никсов делать не нужно (кроме, естественно, тех, которые связаны с отсутствием там Visual Studio).
все изменения в коде обрабатываются define'ами, которые делаются в mozilla-config.h в SDK XULRunner'а.
естественно, имя файла поменяется с dll на so, и, возможно, потребуются специфические опции компилятора и ликовщика — но сам код останется точно таким же.
вообще, никаких специальных изменеий для никсов делать не нужно (кроме, естественно, тех, которые связаны с отсутствием там Visual Studio).
все изменения в коде обрабатываются define'ами, которые делаются в mozilla-config.h в SDK XULRunner'а.
естественно, имя файла поменяется с dll на so, и, возможно, потребуются специфические опции компилятора и ликовщика — но сам код останется точно таким же.
вы пробовали или просто предполагаете?
нет, я не пробовал.
дело в том, что то, что я говорю — это общий принцип. он применим вообще почти всегда, когда программа кроссплатформенна на уровне исходных кодов.
может быть, конечно, что в *nix будет куча проблем (хотя лично мне кажется это крайне маловероятным). но я могу попробовать и к вечеру написать, действительно ли всё просто, идёт?
дело в том, что то, что я говорю — это общий принцип. он применим вообще почти всегда, когда программа кроссплатформенна на уровне исходных кодов.
может быть, конечно, что в *nix будет куча проблем (хотя лично мне кажется это крайне маловероятным). но я могу попробовать и к вечеру написать, действительно ли всё просто, идёт?
уже попробовал. всё хорошо, но пришлось, как и ожидалось, немного помучиться с ключами.
c++ -Wall -Os -o Demo.so -include mozilla-config.h -I /home/vasya/xulrunner-sdk/sdk/include -I /home/vasya/xulrunner-sdk/include Demo.cpp DemoModule.cpp -L /home/vasya/xulrunner-sdk/lib -lxpcomglue_s -lxpcom -lnspr4 -lplds4 -shared
c++ -Wall -Os -o Demo.so -include mozilla-config.h -I /home/vasya/xulrunner-sdk/sdk/include -I /home/vasya/xulrunner-sdk/include Demo.cpp DemoModule.cpp -L /home/vasya/xulrunner-sdk/lib -lxpcomglue_s -lxpcom -lnspr4 -lplds4 -shared
НЛО прилетело и опубликовало эту надпись здесь
а как это сделать, кстати? я пытался найти это в помощи, но что-то не увидел, и хабраредактор тоже не подсвечивает.
НЛО прилетело и опубликовало эту надпись здесь
а, вот оно как.
спасибо, исправил.
спасибо, исправил.
XPCOM — это аналог Microsoftовского COM'а от Мозиллы, который от COM отличается практически ничем. Вообще, не очень понятно, почему Mozilla вместо хорошо описанного и привычного COM решили изобрести свой велосипед, но так уж вышло, и нам, разработчикам, придётся принимать всё так, как оно есть.
COM отсутствует на *NIX. Протокол пропиетарный, чтобы сделать версию под *NIX нужно его лицензировать у Microsoft. Так как создатели Firefox стараются соблюдать потентную чистоту, то сделали «то же самое но своими словами».
отлично! спасибо!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как написать компонент к Firefox на C++