Как скомпилировать библиотеки Boost (и ссылки?) В cygwin windows7 i686-w64-mingw32-g ++ с помощью bjam

увеличить компиляцию, чтобы использовать его в среде cygwin с джемом

Прежде всего, спасибо за чтение моего сообщения, и я использую windows 7 pentium i3 cygwin i686-w64-mingw32-g ++. Я начинающий (10 000 строк базового кода на c ++, который можно найти в документации, когда его легко найти или чаще на форуме. Здесь я терплю неудачу в течение недели) Я использую волшебную строку для компиляции, предоставленную другом: i686-w64 -mingw32-g ++ -g -static main.cpp -I / usr / i686-w64-mingw32 / include -L / usr / i686-w64-mingw32 / lib -ltesseract -llept -lgdi32 -lws2_32 я знаю только, что -l связывать.

Я работаю в проекте по покеру.
У меня есть много (порядка 10 ^ 7) вероятностей для вычисления, и это требует много оптимизаций. Я нашел источник справочных программ в этой области под названием PokerStove. У них есть строй библиотеки (моя мечта: о)) en.wikipedia.org/wiki/PokerStove
источник здесь:
https://github.com/andrewprock/pokerstove

Чтобы иметь эти библиотеки повышения, я использовал документацию, которая:
Мне нужно установить буст (заголовка не хватает, мне нужны библиотеки)
И установить boost (в документации по покеру сказали, что это не просто в windows, я верю: о))
Я пытаюсь использовать BJAM (информация с форума и официальная документация)
У меня есть источники загрузки boost_1_54_0 sourceforge.net/projects/boost/files/boost/1.54.0/
переименовал boost_1_54_0 в boost и поместил в c:
иметь все в папке в c: \ boost
тогда у меня есть следующий французский учебник http://devtricks.wordpress.com/installer-boost-sous-windows-avec-mingw/
у меня есть dowload boost-jam-3.1.17-1-ntx86.zip с sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/stats /карта
положить его в фодер c: \ boost
cd / cygdrive / c
CD Boost
Этап bjam —build-type = complete —build-dir = «C: \ Boost \ build» —toolset = gcc —stagedir = «C: \ Boost» У меня было
bash: bjam: commande introuvable (неизвестная команда на французском), поэтому я добавляю «./» перед

и я наконец-то

$ ./bjam stage --build-type=complete --build-dir="C:\Boost\build" --toolset=gcc
--stagedir="C:\Boost"warning: mismatched versions of Boost.Build engine and core
warning: Boost.Build engine (C:\boost\bjam.exe) is 03.1.17
warning: Boost.Build core (at C:/boost/tools/build/v2) is 2011.12-svn
Accès refusé.
Accès refusé.
Accès refusé.
Accès refusé.
C:/boost/tools/build/v2/util\path.jam:458: in makedirs
rule MAKEDIR unknown in module path.
C:/boost/tools/build/v2/util\path.jam:456: in makedirs
C:/boost/tools/build/v2/util\path.jam:456: in path.makedirs
C:/boost/tools/build/v2/build\configure.jam:233: in configure.set-log-file
C:/boost/tools/build/v2\build-system.jam:695: in load
C:\boost\tools\build\v2/kernel\modules.jam:289: in import
C:\boost\tools\build\v2\kernel\bootstrap.jam:139: in boost-build
C:\boost\boost-build.jam:17: in module scope

Accés refusé = отказано в доступе на французском языке ^^
И у меня нет dll и .lib ожидаемых на этом этапе в учебнике

Если у кого-то есть решение или идеи … Спасибо 🙂 Не стесняйтесь спрашивать больше информации или тестировать при необходимости! Также не стесняйтесь сказать мне, если предмет не в нужном месте или не соответствует стандартам.

С наилучшими пожеланиями,

Бартелеми

3

Решение

Было две проблемы
Один был связан с Windows 7
Была защита файлов

Чтобы удалить это: я сделал:

 $ chmod -R a+r bin
$ chmod -R a+x bin

Это исправило

"Accès refusé".

Вторая проблема была:
Он не работает со всеми комбинациями boost и bjam.

bjam (3.1.18-1-ntx86) с Boost 1.44 работает.
Build Boost 1.45 с использованием MinGW

У меня в новой папке «build» 14 папок и 2613 файлов
с линией:

bjam install --prefix="C:\MinGW" --build-type=complete --build-dir="C:\Boost\build" --toolset=gcc --layout=system

Для проверки вы можете создать файл example.cpp

#include <boost/regex.hpp>
#include <iostream>
#include <string>

int main()
{
std::string line;
boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

while (std::cin)
{
std::getline(std::cin, line);
boost::smatch matches;
if (boost::regex_match(line, matches, pat))
std::cout << matches[2] << std::endl;
}
}

и файл

mail.txt

To: George Shmidlap
From: Rita Marlowe
Subject: Will Success Spoil Rock Hunter?
---
See subject.

затем сделайте:

$ g++ exemple.cpp -o exemple.exe -I"C:\Boost" -L"C:\Boost\lib" -lboost_regex-gcc-d-1_44.dll
exemple.exe < mail.txt

Я скомпилировал в C: \ Boost
LИ.Б.boost_regex-GCC-d-1_44.dll.

Просто возьмите жирную часть из имени файла для компиляции / сборки
И у вас будет:

Will Success Spoil Rock Hunter?

Эта информация взята из французского документа:
http://devtricks.wordpress.com/installer-boost-sous-windows-avec-mingw/

1

Другие решения

Других решений пока нет …