Все прекрасно компилируется, когда я включаю этот конкретный .hpp в заголовок в тестовом проекте, который я сделал с идентичными (вставленными при копировании) настройками проекта (включая путь, путь компоновщика и т. Д.). Однако по какой-то причине мой проект не будет компилироваться при попытке включить его из файла глубоко в мою иерархию заголовков. Заголовки имеют охрану.
Вот лог:
C:\WINDOWS\system32\cmd.exe /C ""C:/Program Files (x86)/CodeBlocks/MinGW/bin/mingw32-make.exe" -j4 SHELL=cmd.exe -e -f Makefile"
"----------Building project:[ Rogue - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'E:/CPP/Rogue/Rogue'
codelite-cc "C:/Program Files (x86)/CodeBlocks/MinGW/bin/g++.exe" -g -O0 -std=c++17 -std=c++14 -std=c++11 -Wall Char.cpp -o Char
In file included from Item.h:7:0, //this says ' #include "Entity.h" '
from Char.h:12, //this says ' #include "Item.h" '
from Char.cpp:1:
Entity.h:5:29: fatal error: SFML/Graphics.hpp: No such file or directory
compilation terminated.
mingw32-make.exe[1]: *** [Char] Error 1
<builtin>: recipe for target 'Char' failed
mingw32-make.exe[1]: Leaving directory 'E:/CPP/Rogue/Rogue'
mingw32-make.exe: *** [All] Error 2
Makefile:4: recipe for target 'All' failed
====3 errors, 1 warnings====
А вот мой заголовок "Иерархия" . (A.h -> B.h означает, что A # включает B)
defs.h и utils.h не имеют отношения к классу (они содержат #defines и служебные функции соответственно.)
Мои настройки компилятора:
Compiler
Linker
SFML установлен в E: / CPP / Libs / SFML
Проект находится в E: / CPP / Rogue
Насколько я знаю, переменная окружения отсутствует.