I'm in the process of learning how to move engine code to a DLL and have 2 or 3 simple games that can call into the DLL.
But I can't figure out how to correctly separate a game.exe from having to know about the engine lib's .hpp files.
Here is an example. The game engine will contain a Lua state. I named the main Lua class LuaEL for Lua Embedded Language. Here are the first few lines of the DLL's LuaEL class. Notice it requires lua.hpp from the Lua library headers.
#pragma once
#ifdef …