Visual Studio无法识别已安装的NuGet包的头文件

时间:2018-11-30 15:51:52

标签: visual-studio-2015 nuget halide

我正在尝试通过学习教程来学习Halide。我正在VS 15中工作,并为Halide添加了NuGet软件包,并将其添加为对我的项目的引用(如图所示)。我看过的NuGet教程似乎表明,一旦添加了引用,VS应该会自动识别项目的头文件,但是这没有发生。我已经阅读了与此相关的所有stackoverflow问题,并尝试了卸载和重新安装该软件包,重新启动VS,并确保该软件包位于正确的项目目录中。我被卡住了-如何在Visual Studio中引用Halide?

screenshot of VS15

我是StackOverflow,Halide和Visual Studio的新手,所以我非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  

在Visual Studio中无法识别已安装的NuGet包的头文件

此问题与nuget包本身有关。那是因为该软件包缺少.targets文件,无法将头文件文件夹添加到AdditionalIncludeDirectories

当您打开解决方案文件夹中的\packages文件夹并打开文件夹Halide.1.0.0时,您会发现构建文件夹中没有这样的文件Halide.targets文件。如果安装另一个nuget软件包glew,则会在文件夹glew.targets中找到..\build\native,其代码如下:

  <ItemDefinitionGroup>
    <ClCompile>
      <PreprocessorDefinitions>HAS_GLEW;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <ResourceCompile>
      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ResourceCompile>
  </ItemDefinitionGroup>

Visual Studio无法识别Header文件的原因。

此问题的解决方法,您可以手动将路径添加到AdditionalIncludeDirectories

属性-> C / C ++->常规->其他包含目录,添加C:\Users\<UserName>\source\repos\ConsoleApplication1\packages\Halide.1.0.0\include;%(AdditionalIncludeDirectories)

希望这会有所帮助。