2

尝试在 64 位 Windows 7 上设置 CodeBlock 和增强功能。

这是我尝试过的...

http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef

下载并安装 CodeBlocks 12.11 到 C:...

C:\CodeBlocks

下载 boost_1_53_0.zip 并解压到 C:\boost...

C:\boost\boost_1_53_0

从命令行检查 gcc ...

gcc --version gcc (tdm-1) 4.7.1 版权所有 (C) 2012 Free Software Foundation, Inc. 这是免费软件;查看复制条件的来源。没有保修;甚至不考虑适销性或特定用途的适用性。

在 boost 文件夹中的命令行上,运行...

bjam --toolset=gcc "--prefix=C:\CodeBlocks" 安装

完成无误。

探索者树...

  • C:\CodeBlocks\include\boost-1_53\boost\accumulators\
  • C:\CodeBlocks\include\boost-1_53\boost\algorithm\
  • C:\CodeBlocks\include\boost-1_53\boost...

  • C:\CodeBlocks\lib\libboost_atomic-mgw47-mt-1_53.a

  • C:\CodeBlocks\lib\libboost_atomic-mgw47-mt-d-1_53.a
  • C:\代码块\库...

打开 CodeBlocks 并设置全局变量...

促进

  • 基础 - C:\CodeBlocks\include\boost-1_53\boost

  • 库 - C:\CodeBlocks\lib

创建新项目 - 控制台应用程序

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

编译并运行正常。

设置构建选项 -> 搜索目录...

编译器

  • $(#boost.include)

链接器

  • $(#boost.lib)

使用来自http://www.boost.org/doc/libs/1_47_0/more/getting_started/windows.html#build-a-simple-program-using-boost的示例

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
    using namespace boost::lambda;
    typedef std::istream_iterator<int> in;

    std::for_each(
        in(std::cin), in(), std::cout << (_1 * 3) << " " );
}

得到这个...

-------------- Clean:在 console_app 中调试(编译器:GNU GCC Compiler)---------------

清理“console_app - 调试”

-------------- 构建:在console_app中调试(编译器:GNU GCC编译器)---------------

mingw32-g++.exe -Wall -fexceptions -g -c C:\dev\console_app\main.cpp -o obj\Debug\main.o C:\dev\console_app\main.cpp:1:35: 致命错误: boost/lambda/lambda.hpp:没有这样的文件或目录编译终止。进程以状态 1(0 分 0 秒)终止 1 个错误,0 个警告(0 分 0 秒)

尝试以下无济于事...#include

-------------- 构建:在console_app中调试(编译器:GNU GCC编译器)---------------

mingw32-g++.exe -Wall -fexceptions -g -c C:\dev\console_app\main.cpp -o obj\Debug\main.o C:\dev\console_app\main.cpp:2:27: 致命错误: boost/regex.hpp:没有这样的文件或目录编译终止。进程以状态 1(0 分 0 秒)终止 1 个错误,0 个警告(0 分 0 秒)

#include "C:\CodeBlocks\include\boost-1_53\boost\regex.hpp"

或者

#include "C:/CodeBlocks/include/boost-1_53/boost/regex.hpp"

-------------- 构建:在console_app中调试(编译器:GNU GCC编译器)---------------

mingw32-g++.exe -Wall -fexceptions -g -c C:\dev\console_app\main.cpp -o obj\Debug\main.o 在 C:\dev\console_app\main.cpp:3:0 包含的文件中: C:\CodeBlocks\include\boost-1_53\boost\regex.hpp:28:34: 致命错误: boost/regex/config.hpp: 没有这样的文件或目录编译终止。进程以状态 1(0 分 0 秒)终止 1 个错误,0 个警告(0 分 0 秒)

4

1 回答 1

0

您将全局变量 $(#boost.include) 设置的内容会对此产生影响。

Boost 自己的头文件希望在编译期间给他们编译器搜索目录,因此使用直接路径包含 boost 将无法解决它。

确保您在 Code::Blocks 中的 $(#boost.include) 全局变量设置为“C:\CodeBlocks\include\boost-1_53”

于 2013-07-20T07:06:04.403 回答