2013-04-07 63 views
1

我试图应用一个允许我使用std::to_string()的修补程序。我在/usr/include/wchar.h上使用了rm,然后将修补的wchar.h复制到我下载到/ usr/include目录中。现在,当我试图编译项目,它抱怨找不到_mingw.h恢复wchar.h C++包含文件

在这一点上,我只是想找到一个办法让老wchar.h副本,并取代“打补丁”之一。我只想找到一种方法来做到这一点没有std::to_string();

+0

只允许***人使用互联网作为其个人备份的是Linus Torvalds。 Linus,是你吗? – 2013-04-07 06:13:16

回答

3

实际上,这与编程无关,所以它可能在这里没有关系。然而...

首先:为您提供正确的。是。您一直在使用root权限,但没有注意不要打破系统。有一个原因是有一个单独的root帐户,不要用于日常工作。

其次,有办法解决这个问题,但它们依赖于系统。从找到哪个软件包安装该标题开始,然后重新安装整个软件包。您也可以尝试提取并恢复该文件,但这可能更复杂。例如在Debian下,运行dpkg -S /usr/include/wchar.h来查找哪个软件包安装了该文件,在这种情况下是libc6-dev。然后,使用apt-get install --reinstall libc6-dev重新安装该软件包,该软件包可以解决您的问题。

最后,要回到编程,你的方法是有缺陷的。标准头文件通常在不同编译器之间不可移植。此外,他们可能会声明在单独的库中实现的功能,这些库的可移植性更差。我的建议:问一个新的问题,你在哪里具体详细说明你想要达到的目标以及在哪个系统上。