C++ 为什么不声明putenv()?

C++ 为什么不声明putenv()?,c++,qt,C++,Qt,我正在尝试使用GCC4.7.1(MinGW)在Windows上编译Qt4.8.4。我编辑了mkspec以包含C++11特性(添加了-std=C++11标志)来编译Java脚本(该模块使用了中讨论的一些tr1特性)。不幸的是,启用C++11以某种方式从C库中删除了putenv()函数,而QtCore在没有该函数的情况下无法编译。在Windows上,该函数名为\putenv。前导下划线正确地表示它不是一个标准的C函数,而是一个实现扩展。你可能可以逃脱惩罚,包括cstdlib吗?我不知道!我正在编译Q

我正在尝试使用GCC4.7.1(MinGW)在Windows上编译Qt4.8.4。我编辑了mkspec以包含C++11特性(添加了
-std=C++11
标志)来编译Java脚本(该模块使用了中讨论的一些tr1特性)。不幸的是,启用C++11以某种方式从C库中删除了
putenv()
函数,而QtCore在没有该函数的情况下无法编译。

在Windows上,该函数名为
\putenv
。前导下划线正确地表示它不是一个标准的C函数,而是一个实现扩展。你可能可以逃脱惩罚,包括cstdlib吗?我不知道!我正在编译Qt本身。@sorush-r,它在没有
-std=c++11
和关闭
javascript
模块的情况下编译得好吗?@maverik没有尝试,现在无法重新配置。在我的电脑上完成编译大约需要4.5到5个小时。你知道putenv是POSIX吗?Windows并不是真正的POSIX?添加
-std=gnu++11
现在我得到另一个错误。看见comments@sorush-r:因为
/D
?那会让我吃惊的。如果是不相关的问题,请换一个问题。