Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.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++ 没有名为'的成员;vsnprintf';在命名空间中';标准&x27;;你是说';vsprintf';?_C++_Ios_C_Macos_Boost - Fatal编程技术网

C++ 没有名为'的成员;vsnprintf';在命名空间中';标准&x27;;你是说';vsprintf';?

C++ 没有名为'的成员;vsnprintf';在命名空间中';标准&x27;;你是说';vsprintf';?,c++,ios,c,macos,boost,C++,Ios,C,Macos,Boost,我试图在iOS下编译boost,但每次尝试启动项目时,都会出现如下错误: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/c++/4.2.1/bits/c++locale.h:79:28: No member named 'vsnprintf' in namespace 'std'; did you mean 'vsp

我试图在iOS下编译boost,但每次尝试启动项目时,都会出现如下错误:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/c++/4.2.1/bits/c++locale.h:79:28: No member named 'vsnprintf' in namespace 'std'; did you mean 'vsprintf'?
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/c++/4.2.1/bits/c++locale.h:79:60: Too many arguments to function call, expected 3, have 4
我认为主要原因是编译器,我尝试更改一些设置并使用编译器,但每次出现新错误时,这里是我当前的编译器设置

  • C语言方言-C99[-std=C99]
  • C++语言方言-C++98[-std=C++98]
  • C++标准库-libstdc++
  • Boost版本是1.44.0, XCode版本是4.5


    有人知道我必须如何配置我的项目才能在iOS下编译boost吗?

    根据此参考页,因为它是在C++11中引入的,所以与其使用
    -std=C++98
    试试
    -std=C++0x
    (但是,编译器可能不支持C++11中引入的所有功能)。

    它是
    -std=C++0x
    ,不是
    -std=C++11
    @DavidHammen,但属性中没有-std=C++0x,只有以下值:C++98[-std=C++98]GNU++98[-std=GNU++98]C++11[-std=C++11]GNU++11[-std=GNU++11]“DavidHammen,那么我如何将C++语言属性设置为-STD= C++ +0x?@ ViBoReStruts您找到了解决方案吗?尝试包括<代码> <代码>而不是<代码> <代码>,调用<代码> VSNPREPTF < /C> >代替。有点麻烦,但是如果你的编译器不完全符合C++11,你没有太多的选择。我不能做这些更改,因为错误在C++语言环境中。h不是我的文件,它是系统文件:(@DavidHammenDid你搜索'网络来查找这个问题吗?到处都是,解决方案也是。显然你启用了“递归”工具“标题搜索路径”菜单中的复选框。取消选中它。