it-swarm.com.ru

Используйте внешние заголовочные файлы в MPLAB X IDE

У меня есть папка с некоторыми файлами .h и .c, и я хочу использовать заголовочные файлы в своих проектах.

Я включил их в папку "Заголовочные файлы" моего проекта, используя "Добавить существующий элемент", но когда я пытаюсь "#include" их компилятор (mplabc18\v3.41), сказать "невозможно найти файл xyz.h"

Итак, что я должен сделать, чтобы использовать эти файлы, не копируя их в папку проекта?

9
blow

Просто добавьте заголовок в проект с помощью диалога "Добавить" и выберите "этот файл для этого проекта, используйте относительный путь". Не запоминайте, является ли он именно этим текстом, но что-то вроде этого.

После этого просто сделайте обычное объявление в вашем файле:

#include "your_header.h"

Это должно работать нормально.

- ОБНОВЛЕНИЕ

Для работы с новым MPLAB X

Сделайте следующее:

  1. Нажмите на Файл-> Свойства проекта

  2. Выберите Conf -> C18 (Глобальные параметры) -> mcc18.
    Для XC8 это находится в разделе Conf> XC8 compiler

  3. Нажмите на кнопку "..." свойства "Включить каталоги"

  4. Нажмите на кнопку "Обзор"

  5. Найдите свой каталог проекта

  6. Нажмите "Открыть", затем Ok и ​​"Применить".

  7. Создайте свое приложение!

Теперь это должно работать.

16
Diego Garcia

Я знаю, что это старый вопрос, но хотел добавить еще один совет, так как сам наткнулся на него. Если вы переходите назад и вперед между системами Windows и Linux, обязательно обратите внимание на заглавные буквы в имени файла. На Windows это не имеет значения. Однако в Linux вы должны быть уверены, что ваша ссылка #include имеет тот же регистр, что и реальный файл.

Если файл сохранен на диске как "UARTIO.INC", ваше включение должно быть:

#INCLUDE "UARTIO.INC"  **EXACTLY**

Если вы поставите это как:

#INCLUDE "UARTIO.inc", or #INCLUDE "uartio.inc"

Он будет хорошо работать в Windows, но не будет работать с ошибками "Не удалось найти включаемый файл" в Linux.

Обратите внимание, что настройка MPLAB на игнорирование чувствительности к регистру не имеет значения для этого.

1
Rick G