Я использую внешнюю библиотеку в своей программе на C++. Эта библиотека имеет fie с именем «Common.h». Не зная об этом файле, я также создал «Common.h» в своей программе. Используя флаг компилятора «#pragma once» в заголовках, я мог убедиться, что оба файла могут быть включены в компиляцию. Однако я понял, что когда я вызываю свой «Common.h» в своей программе, препроцессор ошибочно включает в себя «Common.h» из внешней библиотеки, которая разбивает компиляцию. Есть ли какой-либо вариант, например «namespace», который позволяет мне включить правильный файл. Мне кажется, что это действительно сложно, поскольку мы не можем (действительно, не обязательно) знать обо всех файлах во внешней библиотеке.Как включить заголовочные файлы с похожими именами в проекте C++
ответ
Обычно программа имеет несколько так называемых включают пути искать файлы заголовков. Кажется, вы включили оба пути в каталог, содержащий ваш файл «Common.h», а также каталог заголовков библиотек. Что касается меня, идеальное решение, как представляется, чтобы удалить включать путь библиотеки файлов и использовать явный относительный путь, как:
#include "mylib/include/Common.h"
, не следует забывать, что есть #include <> и #include "", которые имеют разные приоритеты. Один с <> выглядит среди определенных в платформе папок (специфичных для реализации), другой - в папке проекта сначала, нерекурсивно, поэтому должны использоваться частичные пути (есть особенности реализации, но это в основном из-за огромного количества разных платформ) – Swift
Вы можете просто переименовать файл «common.h», а затем включить, что
Пожалуйста, см. Мой ответ yugr – Soo
- 1. Выбрать файлы с похожими именами
- 2. Файлы процессов в папках с похожими именами
- 3. Python: сравнить файлы с похожими именами (рекурсивно)
- 4. Удалить файлы с похожими именами, соответствующие диапазону
- 5. Dev-C++ Сохранить исходные файлы с похожими именами?
- 6. Письмо C Заголовочные файлы
- 7. Как указать заголовочные файлы C в GO?
- 8. C++ Заголовочные файлы (основы)
- 9. C++ Redefinitions - Заголовочные файлы
- 10. Как включить файлы с именами в PHP?
- 11. Заголовочные файлы в dev-C++
- 12. используя заголовочные файлы в C++
- 13. Как добавить несколько файлов с похожими именами?
- 14. включают заголовочные файлы в C
- 15. создать заголовочные файлы в C++
- 16. Круглые включают заголовочные файлы в C
- 17. Поместите файлы в папки с похожими именами cmd
- 18. несколько входов с похожими именами
- 19. Как зашифровать несколько файлов с похожими именами файлов в C#
- 20. c заголовочные файлы внезапно отсутствуют
- 21. C Заголовочные файлы и ABI
- 22. Как включить заголовочные файлы с абсолютными путями из домашнего каталога?
- 23. Включить заголовочные файлы в mainwindow.cpp (Qt5) с помощью cmake?
- 24. Пакет или Powershell: Архивные файлы с похожими именами
- 25. C Заголовочные файлы не работают?
- 26. включая заголовочные файлы в C и компиляцию
- 27. Как включить заголовочные файлы в Visual Studio 2008?
- 28. Удаление файла с похожими именами в Java
- 29. Невозможно включить заголовочные файлы SFML в проект CLION
- 30. Заголовочные файлы без .h в C++
Единственный способ отличить их, используя то же имя является включать некоторые или все пути к файлу в директива include. –
Вы можете сохранить свои заголовки в подпапке проекта и '#include" my_project/Common.h ". TBH Библиотека должна уже сделать это для себя. Возможно, у вас установлены флаги включения компилятора неправильно? – Galik
Пусть имя папки будет пространством имен файла заголовка. –