在 Visual Studio Community 2013 中设置 NVIDIA VisionWorks
Setting up NVIDIA VisionWorks in Visual Studio Community 2013
我似乎在设置 VisionWorks 以便我可以从 VS2013 使用它时遇到困难。这是我到目前为止所做的:
- 已将 C:\Program Files\NVIDIA VisionWorks\include 添加到 C/C++ > 常规 > 附加包含目录
- 已将 C:\Program Files\NVIDIA VisionWorks\share\visionworks\sources\nvxio\include 添加到 C/C++ > 常规 > 附加包含目录
- 已将 C:\Program Files\NVIDIA VisionWorks\lib 添加到链接器 > 常规 > 其他库目录
- 已将 visionworks.lib 添加到链接器 > 输入 > 附加依赖项
- 已复制visionworks.dll到项目目录
这是我遇到的错误:
错误 1 error LNK2001: 未解析的外部符号 "void __cdecl nvxio::checkIfContextIsValid(struct _vx_context *)" (?checkIfContextIsValid@nvxio@@YAXPEAU_vx_context@@@Z) C:\Users\renzb\Documents\Visual Studio 2013\Projects\depthstream\dstream\dseval\main.obj dseval
该错误似乎表明缺少有关 nvxio 的外部 link。但是nvxio没有对应的.lib或.dll文件,只有include文件和src文件。我应该对 src 文件做些什么吗?
我能够按照 user_guide_windows.md 中的说明使用 nmake 构建 C:\Program Files\NVIDIA VisionWorks\share\visionworks\sources。尽管如此,我还是无法从生成的 bin 文件夹中找到 nvxio .dll 或 .lib。
我该怎么办?
如果您有源代码,您应该将它们复制到您自己的源代码旁边,并将它们包含在您的项目中。 linker 说它找不到这个特定功能的实现,这意味着它没有在你的项目中实现,也没有在你使用的库中实现。
您也可以尝试使用此源文件构建一个库项目,然后link将此库添加到您当前的项目中。
您是否熟悉图书馆和 linker 的一般行为?
您的问题与您的任何标签都没有真正相关,它似乎与 linker 以及如何使用外部静态 and/or 动态库构建项目有关。
NVXIO 仅作为示例的一部分在源代码中分发。您需要构建示例以获得 NVXIO 二进制文件(有关 Windows 上示例编译的信息,请参阅 VisionWorks 文档)。或者,您可以按照 Taro 的建议将 NVXIO 源包含到您的项目中。
我似乎在设置 VisionWorks 以便我可以从 VS2013 使用它时遇到困难。这是我到目前为止所做的:
- 已将 C:\Program Files\NVIDIA VisionWorks\include 添加到 C/C++ > 常规 > 附加包含目录
- 已将 C:\Program Files\NVIDIA VisionWorks\share\visionworks\sources\nvxio\include 添加到 C/C++ > 常规 > 附加包含目录
- 已将 C:\Program Files\NVIDIA VisionWorks\lib 添加到链接器 > 常规 > 其他库目录
- 已将 visionworks.lib 添加到链接器 > 输入 > 附加依赖项
- 已复制visionworks.dll到项目目录
这是我遇到的错误:
错误 1 error LNK2001: 未解析的外部符号 "void __cdecl nvxio::checkIfContextIsValid(struct _vx_context *)" (?checkIfContextIsValid@nvxio@@YAXPEAU_vx_context@@@Z) C:\Users\renzb\Documents\Visual Studio 2013\Projects\depthstream\dstream\dseval\main.obj dseval
该错误似乎表明缺少有关 nvxio 的外部 link。但是nvxio没有对应的.lib或.dll文件,只有include文件和src文件。我应该对 src 文件做些什么吗?
我能够按照 user_guide_windows.md 中的说明使用 nmake 构建 C:\Program Files\NVIDIA VisionWorks\share\visionworks\sources。尽管如此,我还是无法从生成的 bin 文件夹中找到 nvxio .dll 或 .lib。
我该怎么办?
如果您有源代码,您应该将它们复制到您自己的源代码旁边,并将它们包含在您的项目中。 linker 说它找不到这个特定功能的实现,这意味着它没有在你的项目中实现,也没有在你使用的库中实现。
您也可以尝试使用此源文件构建一个库项目,然后link将此库添加到您当前的项目中。
您是否熟悉图书馆和 linker 的一般行为? 您的问题与您的任何标签都没有真正相关,它似乎与 linker 以及如何使用外部静态 and/or 动态库构建项目有关。
NVXIO 仅作为示例的一部分在源代码中分发。您需要构建示例以获得 NVXIO 二进制文件(有关 Windows 上示例编译的信息,请参阅 VisionWorks 文档)。或者,您可以按照 Taro 的建议将 NVXIO 源包含到您的项目中。