我正在尝试在 Ubuntu 上编译 lib ARvrml(来自 ARToolKit。请参阅此处的源代码)并得到这个:
g++ -c -I../../../include -I/usr/local/include/openvrml -I/usr/X11R6/include -O -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include arViewer.cpp -o arViewer.o
In file included from arViewer.cpp:37:0:
arViewer.h:74:12: error: ‘object_t’ in ‘class openvrml::gl::viewer’ does not name a type
arViewer.h:85:13: error: ‘object_t’ in ‘class openvrml::gl::viewer’ does not name a type
arViewer.h:90:13: error: ‘object_t’ in ‘class openvrml::gl::viewer’ does not name a type
arViewer.h:97:13: error: ‘object_t’ in ‘class openvrml::gl::viewer’ does not name a type
arViewer.cpp: In constructor ‘arVrmlBrowser::arVrmlBrowser()’:
arViewer.cpp:41:71: error: no matching function for call to ‘openvrml::browser::browser(std::ostream&, std::ostream&)’
arViewer.cpp:41:71: note: candidates are:
/usr/local/include/openvrml/openvrml/browser.h:284:9: note: openvrml::browser::browser(openvrml::resource_fetcher&, std::ostream&, std::ostream&)
/usr/local/include/openvrml/openvrml/browser.h:284:9: note: candidate expects 3 arguments, 2 provided
/usr/local/include/openvrml/openvrml/browser.h:195:24: note: openvrml::browser::browser(openvrml::browser&)
/usr/local/include/openvrml/openvrml/browser.h:195:24: note: candidate expects 1 argument, 2 provided
arViewer.cpp: At global scope:
arViewer.cpp:269:1: error: ‘object_t’ in ‘class openvrml::viewer’ does not name a type
arViewer.cpp:283:1: error: ‘object_t’ in ‘class openvrml::viewer’ does not name a type
arViewer.cpp:292:1: error: ‘object_t’ in ‘class openvrml::viewer’ does not name a type
arViewer.cpp:305:1: error: ‘object_t’ in ‘class openvrml::viewer’ does not name a type
make: *** [arViewer.o] Error 1
考虑到 ARToolkit(没有 VRML 支持)运行良好并且 OpenVRML 安装成功,我无法弄清楚这里有什么问题。