gpt4 book ai didi

gcc - 使用 c++0x 在 g++ 上出现 strdup 错误

转载 作者:行者123 更新时间:2023-12-04 16:36:31 24 4
gpt4 key购买 nike

我有一些 C++0x 代码。我能够在下面重现它。下面的代码在没有 -std=c++0x 的情况下工作正常但是我的真实代码需要它。

我如何在 C++0x 中包含 strdup?使用 gcc 4.5.2

请注意,我正在使用 mingw。我尝试包括 cstdlib、cstring、string.h 并尝试使用 std::。没运气。

>g++ -std=c++0x a.cpp
a.cpp: In function 'int main()':
a.cpp:4:11: error: 'strdup' was not declared in this scope

代码:
#include <string.h>
int main()
{
strdup("");
return 0;
}

最佳答案

-std=gnu++0x(而不是 -std=c++0x)对我有用; -D_GNU_SOURCE 不起作用(我尝试使用交叉编译器,但也许它适用于其他类型的 g++)。

似乎默认值(没有 -std=... 已通过)是“GNU C++”而不是“严格的标准 C++”,因此“除了升级到 C++11 之外,不要更改任何内容”的标志是 -std =gnu++0x,不是 -std=c++0x;后者意味着“升级到 C++11 并且比默认情况下更严格”。

关于gcc - 使用 c++0x 在 g++ 上出现 strdup 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com