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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№2613-01-2006 18:23:14

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

ДЛЯ СБОРКИ НУЖНА Visual Studio .NET 2003

Скачать исходник Мозиллы
http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.8b1/source/mozilla-source-1.8b1.tar.bz2
Распаковать в C:\
Скачать инструменты для компиляции с помощью MS VisualStudio .NET 2003 (VC++ v7.1)
http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools-dotnet.zip
распаковать в C:\ переименовав папку buildtools в moztools
Скачать glib и libIDL для VC++ v7.1
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-glib-1.2.10-bin.zip
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-libIDL-0.6.8-bin.zip
Распаковать в C:\
Скачать и установить cygwin (достаточно пакетов, предлагаемых в установке по умолчанию. При установке убедитесть что пакеты make, tar, zip также будут установлены)
Скачать и установить ActivePerl в C:\Perl

Скачать и установить Platform SDK (на данный момент последняя версия MS PSDK for Win2003 sp1)
Скачать и установить MS Visual C++ ToolKit 2003 (не обязательный шаг... я устанавливал для подстраховки)

Пишем BAT-файл для автоматизации сборки (C:\build.bat)

Выделить код

Код:

@ECHO OFF
SET PATH=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin;C:\Program Files\Microsoft Platform SDK\Bin;C:\vc71\bin;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;C:\Program Files\Microsoft Platform SDK\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\wbem;C:\moztools\bin;C:\cygwin\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;C:\Program Files\Microsoft Platform SDK\Bin\win64;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;C:\masm32\BIN;C:\Perl\bin
SET LIB=C:\Program Files\Microsoft.NET\SDK\v1.1\Lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib;C:\masm32\LIB;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\lib;C:\Program Files\Microsoft Platform SDK\Lib\IA64;C:\Program Files\Microsoft Platform SDK\Lib;C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;
SET INCLUDE=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include;C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft.NET\SDK\v1.1\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include;C:\Program Files\Microsoft Platform SDK\include\Win64\crt;C:\masm32\INCLUDE;C:\Program Files\Microsoft Platform SDK\Include\mfc;C:\Program Files\Microsoft Platform SDK\include
SET GLIB_PREFIX=C:\vc71
SET LIBIDL_PREFIX=C:\vc71
SET MOZ_TOOLS=C:\moztools

SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
SET HOME=C:\mozilla
SET CVS_RSH=ssh
SET MOZ_BUILD_APP=suite
SET MOZILLA_OFFICIAL=1
SET BUILD_OFFICIAL=1

SET OS_TARGET=WINNT
SET WINOS=%OS_TARGET%

SET NO_MFC=1
SET ENABLE_TESTS=
SET DISABLE_TESTS=1
SET MOZ_NO_ACTIVEX_SUPPORT=1

ECHO Installation environment variables set!
@ECHO ON
cd .\mozilla
make -f client.mk build
pause

В c:\mozilla\configure в строках

Выделить код

Код:

if 
test "$_MIDL_MAJOR_VERSION" != "5" -a "$_MIDL_FULL_VERSION" != "6.00.0347" -a "$_MIDL_FULL_VERSION" != "6.00.0361" -a "$_MIDL_FULL_VERSION" != "6.00.0364"; then
             
{ echo "configure: error: Midl version $_MIDL_FULL_VERSION was found.  Midl version must be 5.x.x (VC6*) or 6.00.0347 (VC7) or 6.00.0361 (VC.net 2003) or 6.00.0364 (VC 2005)." 1>&2; exit 1; }
         
fi

заменить 6.00.0361 на 6.00.0366 т.к. midl.exe в Platform SDK имеет версию 6.00.0366

Всё, теперь можно собирать
Запускаем cmd
Из из консоли

Выделить код

Код:

cd C:\moztools\windows\
install.bat 
cd \
build.bat

и ждем :)

Вроде ничего не упустил

Отредактировано T-Rex (13-01-2006 18:30:58)

Отсутствует

 

№2713-01-2006 19:33:18

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

А как назвать-то статью?


От оно че!

Отсутствует

 

№2813-01-2006 19:41:35

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Да так и назови "Сборка Mozilla 1.8 с помощью компилятора от Microsoft под Windows"
Так поисковики будут лучше индексировать :)

Отсутствует

 

№2913-01-2006 19:45:34

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Добавил в Wiki.
http://forum.mozilla.ru/doku.php?id=general:build_vsnet2003:mozilla

Отредактировано igorsub (13-01-2006 21:36:21)


От оно че!

Отсутствует

 

№3014-01-2006 11:47:11

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

А еще я пришел к выводу, что не стОит слушать всяких умных дядек из-за бугра, т.к. их мануалы все-равно не работают (почти правильный мануал нашел здесь на mozilla.ru - по сборке FF и TB из сырцов)... немного пришлось позаморачиваться, но эффект есть.

Это точно! Я Мозиллу собирал на VS6 SP5, хотя везде написано, что при установленном SP5 сборка становится невозможной... :)


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

№3108-05-2006 11:21:47

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

А у кого-нибудь есть опыт встраивания Gecko по средствам VS 2005?

Необходимо встроить движок Gecko в приложение под .NET, пробую разобраться с исходниками риложения wxEmbed - ничего не выходить. Приложение требует скомпилированной Mozilla ... Попытался сделать всё как описано - реакции 0! make не находиться (пишет что make.exe незнакомая команда).

Ещё не понятна последовательность запуска:
из moztools необходимо запустить install.bat - но переменную MOZ_TOOLS устанавливается ПОТОМ при вызове build.bat
Где логика?

P.S. С С++ сталкивался ооочень не надолго и очень давно....

Отредактировано softmax (08-05-2006 12:25:11)

Отсутствует

 

№3208-05-2006 13:07:46

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Я думаю вам встраивание Gecko на данном этапе не осилить. Это ведь не плюшки лопать ;) Тем более что

С С++ сталкивался ооочень не надолго и очень давно....

.
Даже если вы скомпилите Gecko, то после этого его надо будет использовать.

К сожалению, с Gecko не связывался, по решению проблемы

пишет что make.exe незнакомая команда

могу порекомендовать вот это. Там под win32 все есть.

Копайтесь, разбирайтесь.


Black holes were created when the God divided by zero.

Отсутствует

 

№3308-05-2006 13:13:09

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

ЭЭЭ Ну мне нужно всего-лишь сделать wrapping. Думаю справлюсь (плюшки я впрочем тоже люблю)

Так с make похоже облажался я, неправильно установив cygwin. Сейчас попробую переставить.....

Отсутствует

 

№3408-05-2006 13:28:44

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

softmax пишет

Ну мне нужно всего-лишь сделать wrapping.

Ну тогда ладно, прощаю ;)


Black holes were created when the God divided by zero.

Отсутствует

 

№3508-05-2006 13:50:41

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Так, вроде компиляция сдвинулась с мёртвой точки, но до конца не дошла. Запнувшись вот на этом
LINK : fatal error LNK1117: syntax error in option 'DEBUGTYPE:BOTH'
make[6]: *** [nsldap32v50.dll] Error 93
make[6]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla/directory/c-sdk/ldap/libraries/libldap'
make[5]: *** [export] Error 2
make[5]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla/directory/c-sdk/ldap/libraries'
make[4]: *** [export] Error 2
make[4]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla/directory/c-sdk/ldap'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla/directory/c-sdk'
make[2]: *** [ldap] Error 2
make[2]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla'
make: *** [build] Error 2

Отсутствует

 

№3608-05-2006 18:50:20

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Крайне рекомендую пользоваться туториалом в Wiki. Только что перепроверил у себя - работает.
На счет wrapper'а... я тут немного перековырял сырцы примера и wxMozilla, сделал немного попроще... вроде работает.
Будет желание - пишите на e-mail, попробуем разобраться с вашей проблемой

Ещё не понятна последовательность запуска:
из moztools необходимо запустить install.bat - но переменную MOZ_TOOLS устанавливается ПОТОМ при вызове build.bat
Где логика?

Логика в том что писал я универсальный батник чтобы без проблем компилилось ;) собственно, свою функцию он выполняет (для VS2003). На счет 2005й... ухъ.. там столько всего в новом компиляторе наворочено, что я не могу сказать точно на счет того, удастся ли скомпилить им... на днях попробую, может получится... я пока пользуюсь сборкой созданной с VC++ ToolKit 2003

Кстати, я тоже заинтересован во wrapper'е для .NET, если все удастся - просьба поделиться :)
Ыыы.. и еще одно, там вроде неплохой ActiveX был для Mozilla'овского броузера.. и он даже работает, может было бы проще поиспользовать именно его?

Отсутствует

 

№3708-05-2006 19:16:29

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

ActiveX нашёл - но клиенту это не подходит он НЕ хочет завязываться на всяких COM activeX и прочее...
Насчёт ЭТОЙ проблемки я её убил просто убрав строку 'DEBUGTYPE:BOTH' из параметров вызова sh.exe. Вроде проходит, но вот теперь другая трабла - вылетает xpidl.exe с сообщением:

The application failed to initialize properly (0x80000003).

/cygdrive/d/dotNetProjects/daVinchi/mozilla/build/cygwin-wrapper ../../dist/bin/xpidl.exe -m header -w -I/cyg
drive/d/dotNetProjects/embed/mozilla/xpcom/base -I../../dist/idl -o _xpidlgen/nsIConsoleListener /cygdrive
/d/dotNetProjects/embed/mozilla/xpcom/base/nsIConsoleListener.idl
make[4]: *** [_xpidlgen/nsIConsoleListener.h] Error 3
make[4]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla/xpcom/base'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla/xpcom'
make[2]: *** [tier_2] Error 2
make[2]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/d/dotNetProjects/embed/mozilla'
make: *** [build] Error 2

Отсутствует

 

№3808-05-2006 19:47:37

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Мммм... а если попробовать поиграться с флагами для SHARED/STATIC build? Я уже не помню.. где-то в makefile'ах было... Я тогда пытался сделать полностью статическую сборку и у меня не получилось... как-то оно по умолчанию собиралось всё с Multithreaded DLL.
Еще возможно что инструменты для сборки или библиотеки из пункта "Скачать glib и libIDL для VC++ v7.1" коряво работают с 8й версией компилятора... Уточните plz, вы все-таки с помошью 2005й студии пытаетесь собрать или с помощью тех инструментов, которые указаны выше?

Отредактировано T-Rex (08-05-2006 19:48:38)

Отсутствует

 

№3908-05-2006 19:55:39

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Собираю руководствуясь документацией из WIKI.  MS Visual C++ ToolKit 2003 не устанавливал.
Пути в батнике переписаны с учётом путей для VS 2005.

Кстати по поводу  "Скачать glib и libIDL для VC++ v7.1" я использовал вот эти библиотеки: http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/vc8_moztools.zip а не VC71.

Отредактировано softmax (08-05-2006 20:00:52)

Отсутствует

 

№4008-05-2006 20:03:54

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

OK, я тогда тоже сегодня попытаюсь скачать всё что нужно для компиляции с VS2005 и посмотрим что получится... все равно пора бы уже перевести мой компонентик на 2005ю

Да, еще одно.. что-то я не могу на mozilla'овском сайте найти те библиотеки libIDL и glib для 8й версии компилятора... вы пользуетесь теми что для 7.1 или где-то можно взять и для 8й?

...
Вопрос снят :)

Отредактировано T-Rex (08-05-2006 20:08:39)

Отсутствует

 

№4108-05-2006 20:06:26

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Буду благодарен, если поделитесь результами...

Отсутствует

 

№4208-05-2006 21:51:58

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Хммм.. у меня та же ошибка выскакивает.
В общем-то проблему удалось локализировать.
в moztools libIDL и glib упорно требуют msvcr80.dll ... решил проблему, скормив им библиотеки из папки C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT, после чего начала проявляться та же ошибка что и у вас. Складывается такое впечатление что библиотеки эти откомпилированы с Code Generation = MultiThreaded DLL и компиляция Мозиллы тоже происходит с этим же флагом (принудительная установка аргументов --disable-shard --enable-final в client.mk при каждом вызове configure не дала результатов, как и в случае с VC7.1) По идее статическая линковка должна решить эти проблемы.
Или еще вариант, попытаться найти чего нехватает libIDL и остальным ДЛЛкам из moztools и скормить им то что им нужно. Очень похоже что они скомпилированы с использованием Managed Extensions и им нехватает каких-то Assemblies, которые должны валяться рядом с ними в одной папке

Отсутствует

 

№4308-05-2006 22:41:37

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

У меня тут еще вопросик образовался, вы часом не знаете, как пользоваться .mozconfig-файлом, в какую папку его ложить и что в батнике дописывать чтобы он использовался?
В нем как бы должны настройки сборки описываться, но что-то не получается у меня с ним собрать.
Файлик следующего содержания

Выделить код

Код:

. $topsrcdir/browser/config/mozconfig
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
ac_add_options --disable-shared
ac_add_options --enable-static
ac_add_options --disable-activex
ac_add_options --disable-activex-scripting
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-logging 
ac_add_options --enable-svg
ac_add_options --enable-canvas

Отсутствует

 

№4408-05-2006 23:10:53

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Честно говоря не знаю. Боюсь такие тонкости не для меня. Хотя попытаюсь покопаться в сети может что-нибудь и нарою....

Проблемку msvcr80.dll решил аналогично.

Теперь по проблемке - в забугорных ресурсах проскальзывала инфа, что мол надо прописывать пути к libIDL и glib - самыми первыми в PATH, но мне такое решение не помогло, спотыкается как и раньше ....

Отсутствует

 

№4509-05-2006 02:35:19

Unghost
Призрак-админ
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 08-10-2004
Сообщений: 11771

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

T-Rex

как пользоваться .mozconfig-файлом

Просто пользоваться. Писать в него нужные параметры.

в какую папку его ложить

Туда, где находятся исходники Mozilla, то есть в одну папку с файлом configure
Это кстати написано в http://forum.mozilla.ru/doku.php?id=general:build_msvc2003:firefox_thunderbird_msvc_.net_2003

и что в батнике дописывать чтобы он использовался?

Ничего не дописывать, он используется автоматически.


Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.

Отсутствует

 

№4609-05-2006 04:32:33

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Unghost
Спасибо :)
Странно как-то... configure вызывается у меня с параметрами --disable-shared --enable-static, а на размер исполняемого файла того же xpidl.exe это никак не повлияло. Даже не знаю что и делать... может параемтры из .mozconfig считываются но не используются?

Может у кого-нибудь получалось собрать Мозиллу 2005й студией? Поделитесь опытом plz.

Отредактировано T-Rex (09-05-2006 04:34:45)

Отсутствует

 

№4711-05-2006 00:03:40

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Честно говоря я уже отчаился ... буду ставить VirtualPC и компилять по 2003, потом переносить в 2005 - но уже под .NET

Отсутствует

 

№4811-05-2006 00:25:26

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

softmax, еще вариант попробовать скомпилить сырцы FF, говорят для них Static Build работает (лично не пробовал, только слухи... у меня исходник v1.5 валяется, всё руки не доходят чтобы скомпилить).
Если у вас есть время, попробуйте, может чего хорошего получится.

И еще.. кажись без исходников той же libIDL, которая ну явно собрана с флагом MultiThreaded DLL, вряд ли получится сделать полностью статический билд, не зависящий от библиотек рантайма, которые поставляются с 2005й студией.

Я не уверен что у меня в ближайшие дни будет время собрать FF из исходников, поэтому предлагаю вам сделать это раньше меня :) и поделиться впечатлениями. Если будут проблемы и с этим, тогда "будем посмотреть" что можно еще придумать.

Как я уже говорил, я тоже заинтересован в сборке всего этого хозяйства под 2005ю студию, поэтому постараюсь помочь чем могу...

Да.. попробуйте в мэйл-листах гугловских распросить людей, как они с этой проблемой борются, ... у меня тут где-то адреса пары форумов были в архивах... я поспрашиваю там, может чего получится узнать :)

Отредактировано T-Rex (11-05-2006 00:27:16)

Отсутствует

 

№4911-05-2006 15:32:30

softmax
Участник
 
Группа: Members
Зарегистрирован: 05-05-2006
Сообщений: 38

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Если будет время обязательно попробую с FF. Как временную меру, сделал следующее:

Поставил VirtualPC, под на него WinXP + VS2003. Откомпилировал - ессно всё ок!
Но вот беда не скомпилялся wxEmbed... Он должен компиляться вместе с mozilla? Или нет? Поясните плиз....

Отсутствует

 

№5011-05-2006 17:25:35

T-Rex
Участник
 
Группа: Members
Зарегистрирован: 09-01-2006
Сообщений: 31

Re: Нужна помощь по встраиванию Gecko-броузера в приложение на С++

Вобще-то должен... но там таааааак коряво все сделано.. (хотя сам по себе у меня он скомпилился, но вот проект на его основе создать... это было нечто.. 4 часа мучился :))
У меня есть упрощенный вариант wxEmbed. Вроде компилился нормально.. если интересует - могу сбросить на e-mail.. там гибрид из wxEmbed и wxMozilla старого (т.к. новую версию я нашел только в исполнении на Python)

Отредактировано T-Rex (11-05-2006 17:28:08)

Отсутствует

 

Board footer

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