使用嵌套的包含文件夹创建c ++ NuGet包

时间:2015-12-08 14:49:23

标签: c++ nested nuget

我试图为C ++打包工具包,其中包含文件分布在多个文件夹中,如下所示: Includes - cen_dcm -dcmnet -ofstd -dcmdata

nuspec内部是:include: { ${SDK_Base}\cen_dcm\**\*.h };

部署此程序包后,我会在以下位置获取包含文件: ..\packages\DCMTK.3.42.0.0\build\native\include包括子文件夹。

当我使用包含IntelliSense时没有问题找到它,但如果包含文件包含来自不同文件夹的内容,则无法找到它。

所以我使用:#include"dcmnet/assoc.h"工作得很好,但在编译assoc.h时报告找不到osconfig.h

该文件位于包中,但位于ofstd文件夹中。 通常我会通过添加额外的包含来解决这个问题,但由于这是一个我不想要的包。

我错过了什么?我无法想象对缺乏某种东西的支持是缺乏的吗?

1 个答案:

答案 0 :(得分:1)

回答我自己的问题。您可以将{targets}添加到a​​utopkg文件中。

看起来像这样:

targets {
      Includes += "$(MSBuildThisFileDirectory)..\..${d_include}cen_dcm";
      Includes += "$(MSBuildThisFileDirectory)..\..${d_include}cen_dcm\config";
      Includes += "$(MSBuildThisFileDirectory)..\..${d_include}cen_dcm\dcmtls";
      Includes += "$(MSBuildThisFileDirectory)..\..${d_include}cen_dcm\dcmdata";
      Includes += "$(MSBuildThisFileDirectory)..\..${d_include}cen_dcm\dcmnet";
      Includes += "$(MSBuildThisFileDirectory)..\..${d_include}cen_dcm\ofstd";
   }

此附加包含文件夹将显示在package.targets文件中。

使用{targets}有更多可能性。见http://coapp.org/reference/autopackage-ref.html