C++ 如何在cygwin windows7 i686-w64-mingw32-g++;与比亚姆

C++ 如何在cygwin windows7 i686-w64-mingw32-g++;与比亚姆,c++,boost,cygwin,bjam,poker,C++,Boost,Cygwin,Bjam,Poker,在带有jam的cygwin环境中使用它的问题 环境与我的技能 首先感谢您阅读我的信息,我使用的是Windows7奔腾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

在带有jam的cygwin环境中使用它的问题

环境与我的技能 首先感谢您阅读我的信息,我使用的是Windows7奔腾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\u 32我只知道-L是链接

上下文 我在一个扑克项目中工作。 我有很多(10^7级)的概率需要计算,它需要很多优化。我已经找到了这个领域中名为Poker的参考程序的源代码。他们建立了图书馆(我的梦想:o))en.wikipedia.org/wiki/poker 资料来源如下:

我所做的和错误 为了拥有这些boost库,我在文档中介绍了: 我需要安装boost(页眉不够,我需要库) 安装boost(在poker Foother的文档中,他们说在windows中不容易,我相信:o)) 我正在尝试使用bjam(从论坛和官方文档获取的信息) 我已经下载了boost_1_54_0 sourceforge.net/projects/boost/files/boost/1.54.0的源代码/ 将boost_1_54_0重命名为boost并将其置于c中: 将所有内容都放在c:\boost中的文件夹中 然后我有一个法语教程 我从sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip下载了boost-jam-3.1.17-1.zip/stats/map 把它放在文件夹c:\boost中 cd/cygdrive/c cd助推 bjam stage--build type=complete--build dir=“C:\Boost\build”--toolset=gcc--stagedir=“C:\Boost” 我有 bash:bjam:commande introvable(法语中未知的命令),所以我在前面添加了“/”

我终于:

$ ./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

如果有人有解决方案或想法。。。谢谢:)如果需要,请随时询问更多信息或测试!如果主题不在正确的位置或不遵守标准,请随时告诉我

致以最良好的祝愿

Barthelemy有两个问题 一个与Windows7有关 对文件进行了保护

要删除它,请执行以下操作:

 $ chmod -R a+r bin
 $ chmod -R a+x bin
它已经解决了这个问题

"Accès refusé".
第二个问题是: 它不适用于boost和bjam的所有组合

带Boost 1.44的bjam(3.1.18-1-ntx86)工作正常。

我在新文件夹“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;
    }
}
然后做:

$ g++ exemple.cpp -o exemple.exe -I"C:\Boost" -L"C:\Boost\lib" -lboost_regex-gcc-d-1_44.dll
exemple.exe < mail.txt
这些信息来自一份法国文件:

作为一个新用户,非常适合格式化和提问。
$ g++ exemple.cpp -o exemple.exe -I"C:\Boost" -L"C:\Boost\lib" -lboost_regex-gcc-d-1_44.dll
exemple.exe < mail.txt
Will Success Spoil Rock Hunter?