| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > GNU toolchain > boost под gcc в Windows XP |
| Автор: vatuska 12.3.2012, 12:20 |
| Доброго времени суток. Есть задача скомпилировать проект, использующий сторонние библиотеки, в частности boost 1.36, под gcc для Mac OS. Насколько я понимаю, все используемые библиотеки нужно скомпиллировать под gcc. Как это сделать с boost с помощью cigwin под Windows XP? |
| Автор: boostcoder 12.3.2012, 13:18 |
| нужно собрать кросс-компилятор host -> target. где host - платформа на которой хотите собирать, и target - платформа для которой хотите собирать. потом же, этим кросс-компилятором собираете все зависимости, и далее сам проект. задача вполне выполнима. но не для слабонервных. проще - установить OSX на виртуалку ;) |
| Автор: bsa 12.3.2012, 20:10 |
| vatuska, ты уверен(а), что надо компилировать gcc? Просто у Apple нынче идет тенденция по отказу от gcc в пользу clang, причем последний уже сделан где-то стандартным компилятором. Так что проверь сначала. Ну или последуй совету boostcoder. |
| Автор: vatuska 13.3.2012, 07:29 |
| Немного по-другому, у меня есть с++ проект, который использует boost. Я установила cygwin вместе с g++, gcc и т.д. Я загрузила свой проект в NetBeans, настроила его, чтобы C++ код компилировался c помощью cygwin, добавила к нему инклуды бустовских хедеров, но у меня сейчас нет сорцев boost, у меня есть только его инклуды и либы, собранные visual studio, мне нужно собрать boost под gcc, как это можно сделать? |
| Автор: Damarus 13.3.2012, 10:28 |
Что вы собирать то будете? |
| Автор: vatuska 13.3.2012, 12:39 |
| Я собираюсь скачать бустовские сорцы и собрать их под gcc с помощью cygwin, кто-нибудь знает как это сделать? Или кто-нибудь знает место, где написано как это сделать? |
| Автор: boostcoder 13.3.2012, 13:29 |
| установите boost при помощи cygwin`овского инсталлятора. |
| Автор: vatuska 22.3.2012, 11:48 |
| Из инсталлятора cygwin не подходит, потому что там последняя версия, а мне нужна 1.36 Пытаюсь скомпиллировать bjam-ом, собранным из исходников, $ bjam --build-dir=../boost_build_gcc --toolset=gcc > ../log.txt на что получаю кучу ошибок и практически ни одного скомпилированного файла. Кто-нибудь может мне помочь? |
| Автор: boostcoder 22.3.2012, 12:32 |
| напиши что там вместо восклицательных знаков. не могу кодировку подобрать. |
| Автор: vatuska 22.3.2012, 12:58 |
| А вместо восклицательных знаков восклицательные знаки, я тоже не могу подобрать кодировку. Даже в консоли восклицательные знаки |
| Автор: boostcoder 22.3.2012, 13:10 |
| покажи вывод "g++ /dev/null -v" |
| Автор: vatuska 23.3.2012, 07:17 |
| g++ /dev/null -v Используются внутренние спецификации. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/4.5.3/lto-wrapper.exe Целевая архитектура: i686-pc-cygwin Параметры конфигурации: /gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3/configure --srcdir=/gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --datarootdir=/usr/share --docdir=/usr/share/doc/gcc4 -C --datadir=/usr/share --infodir=/usr/share/info --mandir=/usr/share/man -v --with-gmp=/usr --with-mpfr=/usr --enable-bootstrap --enable-version-specific-runtime-libs --libexecdir=/usr/lib --enable-static --enable-shared --enable-shared-libgcc --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --with-dwarf2 --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-lto --enable-java-awt=gtk --disable-symvers --enable-libjava --program-suffix=-4 --enable-libgomp --enable-libssp --enable-libada --enable-threads=posix --with-arch=i686 --with-tune=generic --enable-libgcj-sublibs CC=gcc-4 CXX=g++-4 CC_FOR_TARGET=gcc-4 CXX_FOR_TARGET=g++-4 GNATMAKE_FOR_TARGET=gnatmake GNATBIND_FOR_TARGET=gnatbind --with-ecj-jar=/usr/share/java/ecj.jar Модель многопоточности: posix gcc версия 4.5.3 (GCC) COMPILER_PATH=/usr/lib/gcc/i686-pc-cygwin/4.5.3/:/usr/lib/gcc/i686-pc-cygwin/4.5.3/:/usr/lib/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/4.5.3/:/usr/lib/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ LIBRARY_PATH=/usr/lib/gcc/i686-pc-cygwin/4.5.3/:/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=i686' /usr/lib/gcc/i686-pc-cygwin/4.5.3/collect2.exe --wrap _Znwj --wrap _Znaj --wrap _ZdlPv --wrap _ZdaPv --wrap _ZnwjRKSt9nothrow_t --wrap _ZnajRKSt9nothrow_t --wrap _ZdlPvRKSt9nothrow_t --wrap _ZdaPvRKSt9nothrow_t -Bdynamic --dll-search-prefix=cyg --large-address-aware --tsaware /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../crt0.o /usr/lib/gcc/i686-pc-cygwin/4.5.3/crtbegin.o -L/usr/lib/gcc/i686-pc-cygwin/4.5.3 -L/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../.. /dev/null -lstdc++ -lgcc_s -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc_s -lgcc /usr/lib/gcc/i686-pc-cygwin/4.5.3/crtend.o /dev/null: file not recognized: File truncated collect2: выполнение ld завершилось с кодом возврата 1 |
| Автор: boostcoder 23.3.2012, 11:00 |
| тут все правильно. попробуй все же каким-то образом расшифровать те загадочные восклицательные знаки. зы компилятор сама собирала? |
| Автор: vatuska 23.3.2012, 11:23 |
| Компилятор поставила вместе с cygwin |
| Автор: boostcoder 23.3.2012, 11:25 |
| ясно. попробуй все же как-то расшифровать.. |
| Автор: bsa 23.3.2012, 13:19 | ||
Попробуй команду сборки выполнить так:
|
| Автор: vatuska 26.3.2012, 07:08 |
| Немного повозилась на выходных итог такой: 1)Пропатчила исходники. 2)Собрала их в Ubuntu под gcc-4.5.3. Сделать это возможно только под sudo. Иначе при компиляции во всех файлах вот такая ошибка: /bin/sh g++:command not found, поэтому подозреваю, что в cygwin под ?????????????? значилось именно это. |
| Автор: vatuska 26.3.2012, 11:44 |
| bsa, это не помогло |