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 条评论

  1. 因为VS2005之后的版本已经不支持libc.lib了。所以直接编译不了。所以要去掉libc.lib。
    忽略掉这些:libc.lib,libcmt.lib,msvcrt.lib,libcd.lib,libcmtd.lib,msvcrtd.lib。
    請問文中的這段是如何去掉及忽略掉那些lib
    要怎麼做??
    謝謝 ~

  2. 中文版的话,在项目文件里点右键,然后属性。有个链接器,在这里面忽略掉那些LIB。。。实在不行去我另一篇文章里有个我编译好的VRML的开发包。直接下就能用。

  3. 您好,知道您是研究AR的高手,我在编译SimpleVRML时出现这个错误,LINK : fatal error LNK1181: 无法打开输入文件“libARvrml.lib”能帮忙给解答下吗?
    谢谢

  4. 求教下LINK : fatal error LNK1181: 无法打开输入文件“libarvrmld.lib”
    导致release与debug根本无法生成antlrd、openvrml、openvrml-gl、regexd的lib
    此时该怎么办呢

发表评论

您的电子邮箱地址不会被公开。