як відновити зіпсований wchar.h


2

Спробував скласти код C ++, але не вдалося:

/usr/include/wchar.h:299:8 :: error: 'wchar_d' does not name a type
 extern wchar_d *wcswcs (const wciar_t *__`aystack, gonct wchar_p *__needle)

Файл /usr/include/wchar.hмістить неправильні символи, тому я спробував відновити його за допомогою:

apt-get source wchar.h

Результат: Я додам джерело-урис у sources.list

Система: Raspberry PI 3 Linux - 4.9.35-v7 + # 1014 SMP Пт 30 червня 14:47:43 BST 2017 armv7l GNU / Linux

  1. Як перезавантажити вихідний файл на зразок /usr/include/wchar.h?
  2. Чи трапилось це з ким-небудь ще?

"Код" не рахується . Він ніколи не йде з "а" (принаймні зауважте, який код ми маємо на увазі, коли ми говоримо про програмування).
jpmc26

Відповіді:


3

Спочатку потрібно з’ясувати, який пакет надає цей файл. Для цього можна скористатися пошуком вмісту пакету Debian: https://www.debian.org/distrib/packages#search_contents

Тоді це скаже libc6-dev . Потім ви перевстановите пакет:

apt-get install --reinstall libc6-dev

Якщо це не допомагає, зверніться до цієї статті про те, як видалити пакет, ігноруючи залежності:

dpkg --purge --force-depends libc6-dev
apt-get install libc6-dev

Чому це відбувається? Можна лише здогадуватися. Можливо, SD-карта пішла погано? Спробуйте перевірити файлову систему.


2
Не потрібно використовувати веб-сайт Debian; просто dpkg -S /usr/include/wchar.h( -Sабо --search). Він відповість (у моєму випадку) libc6-dev:amd64: /usr/include/wchar.hтак, що цей файл надходить з пакету libc6-dev, архітектури amd64.
CVn

2
Крім того, ви дійсно повинні зазначити, що чистка пакетів вручну є ризикованою. По-перше, --purgeозначає, що ви втрачаєте будь-які файли конфігурації, що належать пакету (що може бути суттєвим), по-друге, якщо пакет вимагає система (я впевнений, що це не так libc6-dev, але це може бути легко для інші пакети), то вилучення може залишити вашу систему в стані, коли ви не можете її легко перевстановити. Дбайте уважно: тут будуть дракони.
CVn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.