调试小结(温州站)

记录下比赛前20多天调试时遇到的问题、解决方法和体会

1:OpenNI驱动的安装

通常会按如下顺序进行安装:

1 OpenNI-Win32-1.3.2.1-Dev.msi

2 avin2-SensorKinect-0e5a176\Bin\SensorKinect-Win-OpenSource32-5.0.3.3.msi

3 NITE-Win32-1.4.0.5-Dev.msi

4 Sensor-Win32-5.0.3.3-Redist.msi

安装完后一般通过打开C:\Program Files\OpenNI\Samples\Bin\Release下的demo进行测试安装是否正确,此时会遇到的一个问题是:

调试小结(温州站)

显示说明是关于OpenNI.dll的问题

解决方法:将C:\Program Files\OpenNI\Bin下的OpenNI.dll复制到C:\Windows\System32下即可

注意复制时会提醒要替换原先就在C:\Windows\System32下的OpenNI.dll

2:System32相关

System32是系统文件装载的地方,相关的驱动,要加载的系统服务都是从system32中开始的,因此当用VS进行代码编写和调试,当遇到缺少某某文件时,只要把相关文件拷贝到该目录下即可。

3:dll

动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。

4:lib

LIB有两种,一种是静态库,比如C-Runtime库,这种LIB中有函数的实现代码,一般用在静态连编上,它是将LIB中的代码加入目标模块(EXE或者DLL)文件中,所以链接好了之后,LIB文件就没有用了。一种LIB是和DLL配合使用的,里面没有代码,代码在DLL中,这种LIB是用在静态调用DLL上的,所以起的作用也是链接中用,链接完成了,LIB也没用了。至于动态调用DLL的话,根本用不上LIB文件。 目标模块(EXE或者DLL)文件生成之后,就用不着LIB文件了。

5:PATH路径

环境变量的变量值都是一些应用程序所在的目录,设置环境变量的目的是使这些程序可以在任何目录中被调用,这种方法在DOS这样的命令窗口中作用更明显。如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到path中指定的路径去找。

StevenMeng

2013.8.24

 

你可能感兴趣的:(调试)