Почему Eclipse помечает псевдо-ошибки в моем источнике?

Я локально раздвоил (через hg clone) проект C / C ++ (Eclipse CDT) и импортировал его в мое рабочее пространство Eclipse. Мое окно редактора для разветвленного проекта теперь выглядит так:

введите описание изображения здесь

Понятно, что это не настоящие ошибки, поскольку код создается правильно. Кроме того, эти ошибки не отмечены в исходном проекте, из которого был создан этот.

Почему Eclipse считает, что в этом источнике есть ошибки?

РЕДАКТИРОВАТЬ: сообщения об ошибках Eclipse при наведении на «ошибки», например, Type int64_t could not be resolved а также symbol 'cout' could not be resolved,

РЕДАКТИРОВАТЬ: я заметил, что Eclipse обычно показывает «папку» с именем includes в проекте. Это отсутствует для этого проекта. Как я могу получить его обратно?

введите описание изображения здесь

4

Решение

Eclipse должен знать пути, где найти включаемые файлы. Это может быть установлено с использованием общих настроек затмения или проект за проектом.

По некоторым причинам кажется, что пути по умолчанию не установлены для вашего текущего проекта.

Что ты можешь сделать:
Откройте настройки проекта и перейдите в C / C ++ General -> Paths and Symbols (по крайней мере, так это называется в моей версии Eclipse) и исправьте включаемые каталоги.

Может быть, этого достаточно, чтобы загрузить конфигурацию по умолчанию для этого конкретного проекта. Может быть, вы должны настроить свои включаемые пути самостоятельно. В Unix / OS X это обычно должно быть usr/include, На Windows я понятия не имею, но это должно быть легко узнать.

После этого может потребоваться перестроить ваш индекс затмения (щелкните правой кнопкой мыши на вашем проекте, затем index -> rebuild).

Если это не помогло, поделитесь снимком экрана диалога «Пути и символы» вашего проекта.

Также см. затмение документации по теме.

3

Другие решения

Я должен был включить

  • CDT Cross GCC Built-in Compiler Settings
  • CDT GCC Built in Compiler Settings [ Shared ]

в Свойствах проекта -> Общие сведения о C / C ++ -> Включение путей препроцессора, макросов и т. д. -> Провайдеры

2

добавить это определение в Eclipse для Project Свойства-> C / C ++ Общие-> Пути и символы

__STDC_FORMAT_MACROS

Перестройте свой индекс затмения. Это будет работать.

0

Это работало на Mac OS X Yosemite 10.10.5, версия Eclipse Mars.1 Release (4.5.1):

Поскольку включения обычно обнаруживаются Eclipse через набор инструментов, проверьте, что у вас есть фактический набор инструментов (Когда я столкнулся с этой проблемой после импорта проекта, для набора инструментов было установлено «Нет набора инструментов».):

Проект -> Свойства -> Сборка C / C ++ -> Редактор цепочек инструментов -> Текущая цепочка инструментов

Если в раскрывающемся списке нет цепочек инструментов, попробуйте снять флажок «Отображать только совместимые цепочки инструментов» и выбрать цепочку инструментов (я выбрал Cross GCC). Когда я сохранил изменения и заново открыл свойства проекта, чтобы снова посмотреть на это поле, «Показать только совместимые наборы инструментов» было автоматически перепроверено.

Затем переиндексируйте проект:

Проект -> Индекс C / C ++ -> Перестроить

Это решило проблему для меня («псевдо-ошибки» исчезли, а включенная «папка» появилась под моим проектом в представлении файловой системы).

0

Есть ли у вас #includeправильные файлы в вашем коде? Для std :: cout это будет:

#include <iostream>

и для int64_t:

#include stdint.h
-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector