windows 上的 Premake 获得不正确的真实路径

Premake on windows gets incorrect realpath

我需要在 premake 中创建定义,为我提供项目的绝对路径(Windows 和 Linux)。 我用了

 defines {'ABSOLUTE_PATH="' ..path.getabsolute('.').. '"'}

但这对我不起作用。定义 returns 例如。 c:/aaa/bbb/ccc 和 windows 需要 c:\\aaa\\bbb\\ccc 我也试过

defines {'ABSOLUTE_PATH="' ..os.realpath('.').. '"'} 

但它给了我 c:\aaa\bbb\ccc,这会导致错误 "incorrectly formed universal character name"。有没有简单的方法来获得正确生成的值?

您可能正在寻找更像这样的东西:

defines { 'ABSOLUTE_PATH="%{prj.abspath}"' }

使用此令牌可确保您将获得生成项目的实际路径,这取决于您的项目可能与当前工作目录相同也可能不同。

不过你也可以试试:

defines { 'ABSOLUTE_PATH="' .. path.translate(os.getcwd()) .. '"' }