2013-04-07 66 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重新安裝該軟件包,該軟件包可以解決您的問題。

最後,要回到編程,你的方法是有缺陷的。標準頭文件通常在不同編譯器之間不可移植。此外,他們可能會聲明在單獨的庫中實現的功能,這些庫的可移植性更差。我的建議:問一個新的問題,你在哪裏具體詳細說明你想要達到的目標以及在哪個系統上。