如何从C+复制所有标题+;与premake合作的项目 我有一个C++项目,它的源文件(.CPP和.h文件)在一个名为SRC的目录及其子目录中。一旦我的项目被编译,我想将所有头文件从这个源文件夹复制到另一个目录中,保持src的folderstructure

如何从C+复制所有标题+;与premake合作的项目 我有一个C++项目,它的源文件(.CPP和.h文件)在一个名为SRC的目录及其子目录中。一旦我的项目被编译,我想将所有头文件从这个源文件夹复制到另一个目录中,保持src的folderstructure,c++,premake,C++,Premake,我已尝试使用生成后命令复制这些文件: postbuildcommands { "{COPY} src/*.h include" } 及 但是它们只直接复制src中的.h文件,而不复制子目录中的文件。比如说这个, src +-- a.h +-- a.cpp +-- sub | +-- b.h | +-- b.cpp 变成 include +-- a.h 而不是 include +-- a.h +-- sub | +-- b.h 您使用的是windows linux还是m

我已尝试使用生成后命令复制这些文件:

postbuildcommands
{
    "{COPY} src/*.h include"
}

但是它们只直接复制src中的.h文件,而不复制子目录中的文件。比如说这个,

src
+-- a.h
+-- a.cpp
+-- sub
|   +-- b.h
|   +-- b.cpp
变成

include
+-- a.h
而不是

include
+-- a.h
+-- sub
|   +-- b.h

您使用的是windows linux还是mac? 还是需要跨平台

在windows上,{copy}令牌似乎没有将/s标志传递给xcopy


一种可能的解决方案是找到所有文件或以某种方式从项目中获取它们,并为每个头文件创建一个postbuild命令,该命令可能会慢得多

实际上,令牌{COPY}现在在Windows上包含xcopy/Q/E/Y/I{args},并且/E复制子文件夹,即使是空的(因此甚至比/s“更强”)。OP的问题是,他使用的是**而不是文件夹复制,这似乎与cp不兼容。{copy}扩展为
cp-rf
(Unix)或
xcopy/E…
(Windows),它们支持文件夹复制,但不支持**匹配。如果您将所有标题放在一个单独的文件夹中,这将很简单,但是当与cpp一起使用时,您将需要一个更复杂的命令来提取它们。我没有一个跨平台的解决方案,所以这是一个评论,不是一个答案,但你可以从Linux上开始:如果你发现Windows的等效版本,在操作系统过滤器中添加这两个命令,它应该可以工作。
include
+-- a.h
+-- sub
|   +-- b.h