Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 带代码块的windows上的Boost-错误:未定义对Boost的引用_C++_Boost_Compilation_Codeblocks - Fatal编程技术网

C++ 带代码块的windows上的Boost-错误:未定义对Boost的引用

C++ 带代码块的windows上的Boost-错误:未定义对Boost的引用,c++,boost,compilation,codeblocks,C++,Boost,Compilation,Codeblocks,每当我尝试在windows中使用boost和代码块时,就会出现大量的错误。在linux上,它运行良好 尽管我在代码块中添加了boost.lib文件和GCC编译器的include路径 我首先使用bootstrap.bat+b2.exe进行编译,但显然这是错误的。另一个论坛的一位用户说,但当我尝试他的方法时,我得到: 以便澄清;我所做的是: 。将“C:\ProgramFiles(x86)\CodeBlocks\MinGW\bin”添加到路径 。运行bootstrap.bat,使bjam.exe

每当我尝试在windows中使用boost和代码块时,就会出现大量的错误。在linux上,它运行良好

尽管我在代码块中添加了boost.lib文件和GCC编译器的include路径

我首先使用
bootstrap.bat
+
b2.exe
进行编译,但显然这是错误的。另一个论坛的一位用户说,但当我尝试他的方法时,我得到:

以便澄清;我所做的是:

。将“C:\ProgramFiles(x86)\CodeBlocks\MinGW\bin”添加到路径

。运行
bootstrap.bat
,使
bjam.exe

。运行cmd.exe,cd到boost文件夹,输入
bjam--build dir=C:\boost--build type=complete gcc stage

但我得到了那个错误

为什么在Windows上编译/使用C++库总是会遇到这些需要花费数小时才能解决的错误,而Linux上则几乎是“强”总是<>强>无瑕疵--/p>
谁知道如何修复这个问题?

我使用的技术如下:

  • 设置
    PATH
    环境变量,以包含GCC安装的
    bin
    目录
  • 在某处提取增压
  • 打开comand提示符并将
    cd
    放入boost的根目录(名为
    boost\u x\u xx\u x
    的文件夹,其中包含
    boost
    doc
    libs
    等子目录)
  • 要编译boost,请运行:

    bootstrap.bat

    b2工具集=gcc变量=发布链接=静态线程=多安装


  • 这将把boost安装到
    C:\boost
    。如果要在别处安装,请在运行
    b2

    时使用
    --build dir=
    选项。一个明显的问题是PATH变量中有引号。构建Boost并不容易,而且他们总是有各种各样的问题(我不知道他们怎么能摆脱bug,更不用说雪崩般的警告了)。然而,在这种情况下,我认为这也是类似于这些引用的东西。干杯&hth.,@AlfP.Steinbach不幸的是,我已经在没有报价的情况下尝试过了。只是再次尝试确保,没有骰子。由于这个问题与gcc有关,我现在将在VisualStudio中尝试boost,也许这会奏效。。我有点喜欢代码块,如果有人知道的话;求求你,你好!这里的问题是,您正在使用MSVC构建
    boost
    。这会产生与GCC不兼容的二进制文件
    gcc
    是指定要使用的工具链的错误语法,应改为使用
    toolset=gcc
    gcc
    本身被解释为“构建名为
    gcc
    的目标”。@natly:没问题!如果我忘了保持这个答案是最新的,我会在我的个人项目中保留一个参考资料。