VC程序的生成过程一般经过编译、链接、运行三个步骤,要调用第三方库(包括OpenCV),必须处理好这三个步骤中的问题:
1) 头文件的包含问题。头文件即.h文件,它给出了函数(同时包含类、对象、宏等,以下通称函数)的定义、调用方式等;必须指明头文件的位置,只有这样才能调用第三方库中的函数。如果头文件未处理好而调用相关的函数,则因语法错误编译失败,出现类似“某某未定义”的错误。
方法:#include<头文件>,头文件用绝对路径或在项目设置里添加include目录。
2) Lib文件的配置。Lib文件指明具体的机器代码位置。Lib文件配置错误,程序可以通过语法检查,但在链接时会出现“未处理的外部符号‘某某’,该符号在某某位置处被引用”的错误。
方法:#prgma comment(lib,"xxx.lib"),用到的lib文件都要用这个命令添加上,或者在设置里链接上,具体怎么做自己找吧。
3) DLL即动态链接库的问题。DLL中存放了第三方库中的机器代码。DLL配置错误,程序可以正确编译,但在运行时会出现“找不到动态链接库‘某某.dll’”而导致程序退出。
方法:把dll文件所在目录添加到环境变量,或直接复制到系统目录下,或着与生成的exe放在同一目录下。注意:有的库具备debug与release两个版本,lib版本与dll版本一定要一致,否则程序会异常出错。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)