win10+vs2017+Debugx64自建工程跑通ARToolKit样例

记录下跑通的历程。

准备

首先下载了 ARToolKit官方预编译SDK:Download the ARToolKit Augmented Reality SDK | ARToolKit.org

我这里下载的是:

 然后下载了:

ARToolKit5-VS2017-x64.7z-C++代码类资源-CSDN文库

工程

自建工程,属性管理器Debug|x64,添加的项目属性表配置:

可执行文件目录:

F:\cs\ARToolKit\ARToolKit5-VS2017-x64\bin

F:\cs\ARToolKit\ARToolKit5-VS2017-x64\bin64

包含目录(写多了实际不需要):

F:\cs\ARToolKit\ARToolKit5-VS2017-x64
F:\cs\ARToolKit\ARToolKit5-VS2017-x64\include
F:\cs\ARToolKit\ARToolKit5-VS2017-x64\include\win64-x64
F:\cs\ARToolKit\ARToolKit5-VS2017-x64\include\win32-i386

 库目录(一样,写多了):

F:\cs\ARToolKit\ARToolKit5-VS2017-x64
F:\cs\ARToolKit\ARToolKit5-VS2017-x64\lib
F:\cs\ARToolKit\ARToolKit5-VS2017-x64\lib\win64-x64
F:\cs\ARToolKit\ARToolKit5-VS2017-x64\lib\win32-i386

(库目录和包含目录保证win64-x64在前面,这里中间踩了个坑,否则先找到32位的lib文件,就会报错符号定义错误)

依赖项:

AR.lib
AR2.lib
AR2d.lib
ARd.lib
ARgsub.lib
ARgsubd.lib
ARgsub_lite.lib
ARgsub_lited.lib
ARICP.lib
ARICPd.lib
ARMulti.lib
ARMultid.lib
ARosg.lib
ARosgd.lib
ARUtil.lib
ARUtild.lib
ARvideo.lib
ARvideod.lib
ARWrapper.lib
ARWrapperd.lib
Eden.lib
Edend.lib
glut32.lib
glut64.lib
KPM.lib
KPMd.lib
libjpeg.lib
OpenThreads.lib
osg.lib
osgAnimation.lib
osgDB.lib
osgFX.lib
osgGA.lib
osgManipulator.lib
osgParticle.lib
osgPresentation.lib
osgShadow.lib
osgSim.lib
osgTerrain.lib
osgText.lib
osgUtil.lib
osgViewer.lib
osgVolume.lib
osgWidget.lib
pthread.lib
pthreadVC2.lib
zlib.lib

这里就是F:\cs\ARToolKit\ARToolKit5-VS2017-x64\lib\win64-x64路径下的所有lib文件。

挨个打太麻烦:

python取文件夹固定后缀文件_m0_56838271的博客-CSDN博客

然后就跑程序,随便从ARToolKit里面拷贝了一个例子过来,用Debugx64直接跑,遇到了很多问题:

找不到windows.h

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um 加入包含目录

找不到GL\gl.h

glut.h 复制到:C:\Program Files (x86)\Microsoft Visual\Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\GL

参考了:【AR应用开发之五】artoolkit_北络-CSDN博客_artoolkit

找不到glut32.dll文件

这个就是system32文件夹下没有glut32.dll文件,复制过去就行。

值得注意的是,网上有教程让拷贝到SysWOW64是不对的,system32是64位程序运行环境,这里注意。

应用程序无法正常启动(oxc000007b)。请单击"确定"关闭应用程序

上面一个问题解决后,遇到了无法正常启动的问题,这里的主要原因是glut32.lib文件是32位的,需要64位的glut64.lib。在F:\cs\ARToolKit\ARToolKit5-VS2017-x64\lib\win64-x64路径下找到glut64.lib,保守选择把它复制到项目并改名glut32.lib,在项目中选择添加现有项包含进去:

这两个问题参考:

启发:vs运行时提示:应用程序无法正常启动(oxc000007b)。请单击"确定"关闭应用程序_xianhua7877的博客-CSDN博客_oxc000007b

配置64位glut,运行时因为使用glut32.dll 报错0xc000007b-CSDN社区

解决办法参考:

glut64位配置的说明_liuql的博客-CSDN博客

Error reading pattern file 'Data/hiro.patt'.

跑成以后先是显示相机加载失败,原因可能是realsense用的参数啥的不一样,这个后面看。换了相机之后跑成,提示:

[error] Error reading pattern file 'Data/hiro.patt'.
[error] No such file or directory
[error] pattern load error !!

在官方给的SDK安装包安装的文件里面,路径:F:\cs\ARToolKit\ARToolKit5\bin下复制data到工程文件:C:\Users\chensi\Desktop\ARToolKit_test_1\x64\Debug下。

 

 之后程序就能正常运行。

其他一些小问题

不能将const char*类型的值分配到const* 类型的实体

在项目属性中将语言符合模式改成否即可

参考:

不能将const char*类型的值分配到const* 类型的实体_走在天上的小猪-CSDN博客

This function or variable may be unsafe

属性-C/C++-预处理器-预处理器定义-添加_CRT_SECURE_NO_WARNINGS。

参考:

解决VS2017中出现:This function or variable may be unsafe - WindSun - 博客园 (cnblogs.com)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wdmcs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值