Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2015, 06:19   #11
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Я ошибся на первом пункте. Помню что boost весил 83МБ, а не 123. Зашёл с Убунту и boost.org подсунул мне Download boost_1_58_0.tar.gz (83.6 MB) версию для Линукса. То есть я пытаюсь собрать Линукс-версию на Windows.
gunsoy вне форума Ответить с цитированием
Старый 25.08.2015, 10:21   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще от этого не должно сильно зависить, я обычно брал tar.gz когда компилил под винду.
правда я не припомню чтоб вообще исходники зависили от чего, просто разный способ упаковки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.08.2015, 10:29   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

не там бывают строки в юникс/виндовс формате, посмотрите на скрины ясно ж видно
p51x вне форума Ответить с цитированием
Старый 25.08.2015, 10:34   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

честно говоря тестить не хочу пока, он долго распаковывается.
если сегодня ничего не выйдет, то проверю.
нужна именно 58?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.08.2015, 11:42   #15
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

та не надо тестить 7з отлично собирается на винде
p51x вне форума Ответить с цитированием
Старый 27.08.2015, 00:03   #16
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

у меня своя уже налаженная методика сборки boost под виндовс.
собираю буст компиляторами вижал студии или мингвом32 или мингвом64,

Код:
Инструкция по установке boost.

1. Подготовка дистрибутива:

Создаем иерархию каталогов вида:

    archive
     `-- boost_1_57_0
          `-- содержимое дистрибутива

2. Упаковываем архив при помощи архиватора 7z
   Для этого можно использовать вот такой батничек:

    @echo off
    cls

    SET ARCHIVATOR="C:\Program Files\7-Zip\7z"
    SET ARCHIVE=archive

    if not exist %ARCHIVE%   (
        echo ERROR: directory "%ARCHIVE%" not exist
        echo ERROR: abort operation
        exit
   )

   rem запаковать
   cd %ARCHIVE%
   %ARCHIVATOR% a -t7z -mx9 ..\%ARCHIVE%.7z -mmt

===========================================================================

3. Теперь можно приступить к развертыванию boost.
   Для этого копируем (или прокидываем символическую ссылку) 
   полученный выше архив archive.7z в каталог деплоя.
   Туда же копируем скрипт сборки make-boost.bat

   Получится иерархия:

   deploy
    `-- boost
         |--- archive.7z
          `-- make-boost.bat

4. Все настройки сборки сосредоточены в скрипте make-boost.bat
   Если ничего не менять, а сразу запустить скрипт,
   то будет выполнено построение всего boost для debug/release,
   в 64/32 битах для компиляторов cl/mingw

примечание:
такая подготовка нужна по двум причинам:

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

2.
архиватор 7z c указанными настройками очень хорошо жмет.
а буст весит не мало.

--- продолжение следует ----
_Bers вне форума Ответить с цитированием
Старый 27.08.2015, 00:09   #17
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

а вот содержимое make-boost.bat

Код:
@echo off
cls

rem ---------------------------------------------------------------

set PATH_ENV=%PATH%
set ARCHIVE=archive.7z
set ARCHIVATOR="C:\Program Files\7-Zip\7z"

set NAME_SOURCE_DIRECTORY=boost_1_57_0

set THIS_DIRECTORY=%~dp0
set THIS_DIRECTORY=%THIS_DIRECTORY:~0,-1%

set BUILD_DIRECTORY=%THIS_DIRECTORY%\build
set PATH_DESTINATION=%THIS_DIRECTORY%\external

rem ---------------------------------------------------------------
echo [ BEGIN ]

call :prepare
echo. 

call :make_msvc "32"
call :make_msvc "64"

call :make_mingw "32"

rem требуется 64 битная ос Windows
call :make_mingw "64"

exit /b
rem ---------------------------------------------------------------

:prepare
    if exist %THIS_DIRECTORY%\%NAME_SOURCE_DIRECTORY% ( 
        echo [ Unpacking is not required ]
    ) ELSE ( 
        echo [ Unpacking ] ...
        %ARCHIVATOR% x -y %ARCHIVE%
    ) 

    cd %THIS_DIRECTORY%\%NAME_SOURCE_DIRECTORY%
    if exist b2.exe ( 
        echo [ Bootstraping is not required ] 
    ) ELSE ( 
        call bootstrap.bat 
    )
exit/b

:make_msvc
    set TOOLSET=msvc-12.0
    set PATH_PRODUCT=%PATH_DESTINATION%\msvc2013
    set ADDRESSMODEL=%~1
    call :view
rem    call :build_static_thread
exit/b

:make_mingw

    set TOOLSET=gcc
    set PATH_PRODUCT=%PATH_DESTINATION%\mingw482
    set ADDRESSMODEL=%~1

    set MINGWCOMPILER=%ROOT%\utilities\mingw%ADDRESSMODEL%\bin
    set PATH=%MINGWCOMPILER%;%PATH_ENV%

    call :view
rem    call :build_static_thread
exit/b


rem ------------------------------------------------------

:view
    echo [  source directory ] %THIS_DIRECTORY%\%NAME_SOURCE_DIRECTORY%
    echo [  build directory  ] %BUILD_DIRECTORY%
    echo [ install directory ] %PATH_PRODUCT%\boost
    echo [     libraries     ] %PATH_PRODUCT%\boost\lib%ADDRESSMODEL%
    echo [     compiler      ] %TOOLSET%
    echo [   address model   ] %ADDRESSMODEL%
    echo. 
exit/b

rem ------------------------------------------------------

:build_complete
    echo [ building ]
    b2.exe -j %NUMBER_OF_PROCESSORS% ^
    --build-dir=%BUILD_DIRECTORY% ^
    --prefix=%PATH_PRODUCT%\boost ^
    --libdir=%PATH_PRODUCT%\boost\lib%ADDRESSMODEL% ^
    --build-type=complete ^
    address-model=%ADDRESSMODEL% ^
    toolset=%TOOLSET% ^
    install
exit /b

rem -------------------------------------------
rem пример сборки только библиотеки thread
rem только для статической линковки

:build_static_thread
    echo [ building ]
    b2.exe -j %NUMBER_OF_PROCESSORS% ^
    --build-dir=%BUILD_DIRECTORY% ^
    --prefix=%PATH_PRODUCT%\boost ^
    --libdir=%PATH_PRODUCT%\boost\lib%ADDRESSMODEL% ^
    variant=debug,release ^
    link=static ^
    threading=multi ^
    address-model=%ADDRESSMODEL% ^
    runtime-link=shared ^
    --with-thread ^
    toolset=%TOOLSET% ^
    install
exit /b

rem ------------------------------------------------------
rem пример сборки только библиотеки thread
rem во всех вариантах

:build_complete_thread
    echo [ building ]
    b2.exe -j %NUMBER_OF_PROCESSORS% ^
    --build-dir=%BUILD_DIRECTORY% ^
    --prefix=%PATH_PRODUCT%\boost ^
    --libdir=%PATH_PRODUCT%\boost\lib%ADDRESSMODEL% ^
    --build-type=complete ^
    --with-thread ^
    address-model=%ADDRESSMODEL% ^
    toolset=%TOOLSET% ^
    install
exit /b
rem --------------------------------------------------------------
rem --------------------------------------------------------------
rem --------------------------------------------------------------
rem --------------------------------------------------------------
rem --------------------------------------------------------------
примечание:
разумеется, необходимые компиляторы должны быть.
в батнике нужно указать правильные пути к ним.

например, для мингва это делается в строчках:

Код:
set MINGWCOMPILER=%ROOT%\utilities\mingw%ADDRESSMODEL%\bin
set PATH=%MINGWCOMPILER%;%PATH_ENV%
указываем путь к мингву
(32 или 64 в зависимости от значения переменной ADDRESSMODEL)

а затем выставляем переменные среды.

кроме того, функции:

:build_static_thread
и
:build_complete_thread

нужны для того, что бы собирать не весь буст целиком,
а только отдельно взятый компонент boost::thread

дело в том, что прежде чем начать собирать весь буст целиком
полезно собрать отдельно взятый компонент,
что бы убедиться, что все настройки правильные.
и разворот буста происходит как нужно.


приятной сборки.
_Bers вне форума Ответить с цитированием
Старый 01.09.2015, 17:37   #18
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Неделю интернет не работал. Сегодня скачал сперва .7Z, но там сам файл bootstrap.bat находился в другом месте в boost_1_59_0/tools/build/ и его содержимое было не таким каким должно быть http://ipic.su/img/img7/fs/iii.1441117479.jpg То есть там нет set toolset=msvc

Скачал .zip и снова на команде bootstrap.bat проблемы http://ipic.su/img/img7/fs/jjj.1441117330.jpg

Уже тошнит от Виндовса=(

Последний раз редактировалось gunsoy; 01.09.2015 в 17:42.
gunsoy вне форума Ответить с цитированием
Старый 01.09.2015, 19:15   #19
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
но там сам файл bootstrap.bat находился в другом месте в boost_1_59_0/tools/build/
Там он тоже лежит. Не знаю, что вы качали, но вот передо мной 7з архив буста и в корне есть батник, и он даже собирает. И да в нем есть
Цитата:
:bjam_built

REM Ideally, we should obtain the toolset that build.bat has
REM guessed. However, it uses setlocal at the start and does not
REM export BOOST_JAM_TOOLSET, and I don't know how to do that
REM properly. Default to msvc for now.
set toolset=msvc
Цитата:
Скачал .zip и снова на команде bootstrap.bat проблемы
Продолжайте создавать себе проблемы и мужественно с ними бороться. А ошибка в том, что компилятор не задан или не найден... но этот файл вам не нужен - он сам вызовется, когда надо.
p51x вне форума Ответить с цитированием
Старый 03.09.2015, 17:54   #20
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Скачал 7z версию 1_58_0 там всё на месте.

Цитата:
А ошибка в том, что компилятор не задан или не найден... но этот файл вам не нужен - он сам вызовется, когда надо.
Сейчас опять такая же фигня вылезает. Подскажите пожалуйста как это исправить? В переменной PATH путь к компилятору указан.
gunsoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при сборке ( выпуск) номер -1073741511 lexflax Qt и кроссплатформенное программирование С/С++ 1 16.11.2013 16:33
проблемы при сборке проекта brutalis Qt и кроссплатформенное программирование С/С++ 2 21.01.2013 18:50
Заполнить boost::bimap используя boost::assign Diego__ Общие вопросы C/C++ 2 18.02.2012 16:48
Ошибка при сборке проекта в QT. JoberLord Qt и кроссплатформенное программирование С/С++ 4 17.04.2010 16:33