artoolkit vrml 在VS2008调试成功,终于可以用3DMAX做动画插入artoolkit了。
-
差不多翻遍了整个互联网。终于找到了能成功编译SimpoleVrml的方法。。非常繁琐。但成功了。
首先,libpng.lib和libjpeg.lib在编译的时候也会出现问题。因此,要安装下面两个东西:
libpng.lib
和libjpeg.lib
安装 libpng-1.2.8.exe 并拷贝C:\Program Files\GnuWin32\lib\libpng.lib 到{ARToolKit}\OpenVRML\dependencies\lib
安裝 jpeg-6b-4.exe 並拷貝 C:\Program Files\GnuWin32\lib\jpeg.lib到ARToolKit\OpenVRML\dependencies\lib, 把jpeg.lib改成libjepg.lib。
再拷贝 jpeg62.dll、libpng13.dll、和zlib1.dll 从 C:\Program Files\GnuWin32\bin 到ARToolKit\bin
找到 ARToolKit\OpenVRML\src\openvrml-0.14.3\lib\regex\regerror.c 將
“regerror(errcode, preg, errbuf, errbuf_size)
int errcode;
const regex_t *preg;
char *errbuf;
size_t errbuf_size;”
改成regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size)
找到ARToolKit\OpenVRML\src\openvrml-0.14.3\lib\antlr\antlr\AST.hpp將
inline operator<(RefAST l,RefAST r); // {return true;}
改成int inline operator<(RefAST l,RefAST r); // {return true;}
找到ARToolKit\OpenVRML\src\openvrml-0.14.3\lib\antlr\antlr\Token.hpp將
//inline operator<(RefToken l,RefToken r); //{return true;}
改成int inline operator<(RefToken l,RefToken r); //{return true;}
找到ARToolKit\OpenVRML\src\openvrml-0.14.3\src\libopenvrml\openvrml\ img.cpp
在定义的最后面加上:
#define XMD_H
#ifdef FAR
#undef FAR
#endif
在Release下先生成一下。
因为VS2005之后的版本已经不支持libc.lib了。所以直接编译不了。所以要去掉libc.lib。
忽略掉这些:libc.lib,libcmt.lib,msvcrt.lib,libcd.lib,libcmtd.lib,msvcrtd.lib。
然后,在Debug下再生成一次。
从antlrd、openvrml、openvrml-gl、regexd四个文件夹中的
Release文件夹复制:
antlr.lib、openvrml.lib、openvrml-gl.lib、regex.lib
然后放到ARToolKit\OpenVRML\lib里。
从antlrd、openvrml、openvrml-gl、regexd四个文件夹中的
Debug 文件夹复制 antlr.lib、openvrml.lib、openvrml-gl.lib、regex.lib,再后面都加个"d"
(变成antlrd.lib、openvrmld.lib、openvrml-gld.lib、regexd.lib)将他们放到ARToolKit\OpenVRML\lib。
在项目属性里,把链接器里的输入下面的附加依赖项里,改如下东西。这些后面都加个d。
把 openvrml.lib → openvrmld.lib
openvrml-gl.lib → openvrml-gld.lib
antlr.lib → antlrd.lib
regex.lib → regexd.lib
最后F5就好了。。。
《“artoolkit vrml 在VS2008调试成功,终于可以用3DMAX做动画插入artoolkit了。”》 有 8 条评论
想請問文中提到的在release下先生成一下 是要release哪個呢?
simpleVRML嗎@@?
感謝~
对
因为VS2005之后的版本已经不支持libc.lib了。所以直接编译不了。所以要去掉libc.lib。
忽略掉这些:libc.lib,libcmt.lib,msvcrt.lib,libcd.lib,libcmtd.lib,msvcrtd.lib。
請問文中的這段是如何去掉及忽略掉那些lib
要怎麼做??
謝謝 ~
请问你用的是中文的VS还是英文的?
你好 我用中文版的
感謝
中文版的话,在项目文件里点右键,然后属性。有个链接器,在这里面忽略掉那些LIB。。。实在不行去我另一篇文章里有个我编译好的VRML的开发包。直接下就能用。
您好,知道您是研究AR的高手,我在编译SimpleVRML时出现这个错误,LINK : fatal error LNK1181: 无法打开输入文件“libARvrml.lib”能帮忙给解答下吗?
谢谢
求教下LINK : fatal error LNK1181: 无法打开输入文件“libarvrmld.lib”
导致release与debug根本无法生成antlrd、openvrml、openvrml-gl、regexd的lib
此时该怎么办呢