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