最新の premake 5 アルファを使用して Visual Studio プロジェクトを生成しています。プロジェクト構造は次のようになります。
root
----include
--------Core
------------Window
----------------Window.h
----src
--------Core
------------Window
----------------Window.cpp
----project
--------Core
------------Core.vcxproj
--------Engine.sln
----premake5.lua
事前作成スクリプト:
solution "Engine"
configurations { "Debug", "Release" }
includedirs {
"external/include",
"include"
}
filter "configurations:Debug"
defines { "DEBUG" }
flags { "Symbols" }
targetname "%{prj.name}_D"
filter "configurations:Release"
defines { "NDEBUG" }
optimize "on"
targetname "%{prj.name}_R"
project "Engine-Core"
kind "StaticLib"
language "C++"
files {
"include/Core/**.h",
"src/Core/**.h",
"src/Core/**.cpp"
}
includedirs {
"include/Core/"
}
targetdir "lib"
location "project/Core"
ロケーション関数を使用してルート ディレクトリのプロジェクト フォルダーにプロジェクト ファイルが生成されるように、プリメイク スクリプトをセットアップしました。includeirs 関数を使用して、ルート フォルダーにインクルード フォルダーを追加しました。premake スクリプトに関連するように指定しました。Visual Studio で自分のプロジェクトのインクルード ディレクトリを見ると、ディレクトリはプロジェクトが生成されたフォルダーに対して相対的です。この場合、「....\include」になります。結局、Window.cpp ファイルに含めようとすると、Window.h ファイルが見つからないということになります。
ソリューション ファイルとプロジェクト ファイルをルート フォルダーに直接生成すると、すべてを機能させることができます。できればこれは避けたいです。
Visual Studio 用に別のフォルダーにプロジェクト ファイルを生成しながら、入れ子になったフォルダー構造でソース コードを整理できるように、スクリプトを変更する方法はありますか?
ありがとう!