У меня есть папка под названием code/
, в этой папке у меня есть папка с именем include/
и исходный файл с именем code.cc
, то include/
содержит файлы заголовков a.h
, b.h
, и эти два заголовка файлы также существуют где-то еще, чтобы использовать файлы заголовков в папке include/
, я добавил флаг -Iinclude
в свой Makefile
, но мой код все еще использует эти файлы заголовков в других местах, если я включаю заголовочные файлы ниже, мой код использует файлы заголовков под include/
, почему флаг -I
не меняет каталог включения?НКУ -I не меняет включать каталог
#include "include/a.h"
#include "include/b.h"
Edit: Каталог:
code/code.cc
code/Makefile
code/include/a.h
code/include/b.h
Makefile:
CFLAGS = -Iinclude/
CFLAGS += -m32
LDFLAGS = -Llib -llits -lrt -lpthread -Wl,-R,'lib'
code:code.cc
gcc -o code $(CFLAGS) $(LDFLAGS) code.cc
НКУ --version:
gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Где находится 'Makefile'? Это под кодом? Вы запускаете 'make' из' code'?Это не ясно из вашего вопроса. – lurker
@lurker Makefile находится под 'кодом'. – user4016367
Где также существуют файлы 'a.h' и' b.h' *? У вас есть эта папка в INCLUDE_PATH? –