Как скопировать папку с помощью Premake5?

Вопрос №1

Корневая папка выглядит примерно так:

<project-dir> 
├─build
│ └─bin
│   └─Debug
│     ├─data
│     │ └─player.png
│     └─game.exe
├─data
│ └─sprites
│   └─player.png
├─src
│ └─main.cpp
└─premake5.lua

При попытке скопировать папку data в папку build/bin/Debug/ с помощью команды:

postbuildcommands "{COPYDIR} data \"build/bin/%{cfg.buildcfg}\" /s /h /e /k /f /c"

Вылазит вот такая ошибка:

error MSB3073: выход из команды "xcopy /Q /E /Y /I data "build\bin\Debug" \s \h \e \k \f \c
error MSB3073: :VCEnd" с кодом 4.

Вопрос №2

Есть 2 варианта:

  1. Укажу путь напрямую из main.cpp (loadFromFile("../data/sprites/player.png");)
  2. Укажу путь таким образом (loadFromFile("data/sprites/player/png);)

В первом варианте, код запускается в Visual Studio, но, если запустить .exe, то файл не будет найден, к тому же если исходный файл вложен много раз, придется писать ../../../ и т.д.

Во втором варианте, Visual Studio не может загрузить файл, но запускаемый .exe файл успешно его откроет.

Как можно избавиться от данной проблемы?


Ответы (0 шт):