0

我试图应用一个允许我使用std::to_string(). 我在上面使用了 rm /usr/include/wchar.h,然后将wchar.h我下载的补丁复制到 /usr/include 目录。现在当我尝试编译程序时,它抱怨它找不到_mingw.h

在这一点上,我只想找到一种方法来获取旧的副本wchar.h并替换“修补”的副本。我会想办法在没有的情况下做到这一点std::to_string();

4

1 回答 1

5

实际上,这与编程关系不大,所以这里可能是题外话。然而...

首先:为您服务。是的。您一直在使用 root 权限,但没有适当注意不要破坏您的系统。有一个单独的 root 帐户是有原因的,不要将它用于日常工作。

其次,有一些方法可以解决这个问题,但它们有点依赖于系统。首先找出安装该标头的软件包,然后重新安装整个软件包。您也可以尝试仅提取和恢复该文件,但这可能更复杂。例如在 Debian 下,运行dpkg -S /usr/include/wchar.h以找出安装该文件的软件包,在本例中为 libc6-dev。然后,使用apt-get install --reinstall libc6-dev重新安装包,这应该可以解决您的问题。

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

于 2013-04-07T08:44:00.640 回答