Я хочу включить файл заголовка. Я работаю в среде C++ (C++ 11, ОС Windows, Netbeans 7.3.1 IDE, коллекция инструментов Cygwin_4.x). Я не знаю, как настроить среду/IDE (я сделал это 6 месяцев назад). Я также не понимаю основы процесса сборки C++ или связанные с Cygwin проблемы, поэтому мне, возможно, придется заполнить пробелы некоторыми другими ссылками/документацией (на что конкретно, я не уверен).Нет такого файла (заголовочный файл) error
Моя конечная цель - включить заголовочные файлы с использованием синтаксиса, который не требует полного пути к файлу. Я хочу написать что-то немногословен, как:
#include "src\stuff\blah.h" //or even better: #include "blah.h"
Единственный способ, которым я могу получить программу для компиляции у всех есть, используя полный путь к файлу, например:
#include "C:\NetBeansProjects\Project1\src\stuff\blah.h"
И, я могу только компилируйте один раз с использованием полного пути. Если я попытаюсь перестроить, он будет бомбить с ошибкой *** multiple target patterns. Stop.
. Возможны обходные пути для этой ошибки; те, которые являются либо 1) удалением папок build
и dist
между каждой перестройкой (yikes?) или 2) following this 16 step setup process.
Я не хочу следовать ни одному из этих обходных решений, потому что они, похоже, не доставляют то, что я хочу. Как я могу настроить свою среду для достижения того, чего хочу ..., чтобы включить заголовочные файлы без использования полных путей?
Компилятор, скорее всего, ищет включенные файлы, начиная с файла, который компилируется. Исходный код, который вы пытаетесь скомпилировать в «src»? Если это так, include должен быть '#include" stuff/blah.h "'. Также обратите внимание на косые черты. – DanielKO
Я никогда не использовал netbeans, но был бы шокирован, если бы не было способа добавить каталоги к пути поиска include. Если многие (или все) ваши включенные файлы находятся в одном месте, это путь. – jerry
@ DanielKO - Все (все .cc и .h файлы) в проекте находятся под каталогом «src», но затем они сортируются с использованием подкаталогов (например, файлов).В этом конкретном случае у меня есть файл в одном подкаталоге (src/stuff), который пытается включить файл из другого подкаталога (src/morestuff). Кроме того, косые черты не помогают (ошибка = 'stuff/blah.h - нет такого файла или каталога'). – nairware