Включение должно быть довольно простым, как только вы поймете, как это работает.
Давайте посмотрим на некоторые различные способы вы можете включить файл:
#include "FlexLexer.h"
Кавычки говорят компилятору искать файл FlexLexer.h в той же папке, что и файл компилируется. То есть, он больше нигде не будет выглядеть.
Теперь, если мы изменим кавычки в скобках:
#include <FlexLexer.h>
Это говорит компилятору искать FlexLexer.h в той же папке, но потом, если он не найден, он будет идти по списку включая пути, которые там ищут.
Предполагая, что вы используете VisualStudio, есть системный список включенных путей (см. Инструменты> Параметры> Проекты и решения> Каталоги VC++) и список проектов включенных путей (щелкните правой кнопкой мыши по проекту в обозревателе решений, Свойства> Каталоги VC++). Оба этих списка пройдены. подкаталог
Наконец, вы можете также добавить квалифицируется к включают, например:
#include "Win\FlexLexer.h"
или
#include <Win\FlexLexer.h>
Как вы можете догадаться, он ищет пути при любом текущем каталоге в оба примера, а также список включенных путей в следующем примере. Вне зависимости от того, найден ли файл , поиск будет остановлен, и компилятор будет использовать его. Поэтому будьте осторожны, если заголовки будут дублировать имена в разных библиотеках!
Недостаточная информация. Включите ли вы путь к папке flex в командной строке компилятора? – user4581301
Привет, спасибо за ваш комментарий. Ну, я использую только команды: flex ++ ex.l, а затем g ++ lex.yy.cc. Однако я не знаю, как указать путь к папке flex для компилятора. –
дать 'g ++ -I <путь к flex include folder> lex.yy.cc' a try – user4581301