0

うまくいけば、これはmac.stackexchangeよりもStackOverflowに関連しています...

拡張現実プロジェクトに ARToolkit を使用しています。Mac で動作させるには、10.5 SDK を実行する必要があります。

私の問題は、STLヘッダーファイル、特にベクターをインクルードできないように見えることです。

使用できるラッパーまたは回避策はありますか? 私は基本的にストレートな C コードをコンパイルしており、STL フレームワークの優れた機能を利用して開発をスピードアップしたいと考えています...


編集:

詳しく調べてみると、ARToolkit がそのインクルード パスのある時点で std_vector をインクルードしているように見えます。

エラー スニペット:

Bits/c++allocator.h: No such file or directory
Expected template-name before '<' token
Expected `{' before '<' token
Expected unqualified-id before '<' token
/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/iosfwd
Bits/c++locale.h: No such file or directory
Bits/c++io.h: No such file or directory
/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/bits/stl_algobase.h
Bits/c++config.h: No such file or directory
/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/bits/stl_vector.h
Expected type-specifier before 'allocator'
Expected '>' before 'allocator'
'input_iterator_tag' has not been declared
'forward_iterator_tag' has not been declared
'input_iterator_tag' has not been declared
'forward_iterator_tag' has not been declared
'input_iterator_tag' has not been declared
'forward_iterator_tag' has not been declared
There are no arguments to '__N' that depend on a template parameter, so a declaration of '__N' must be available
(if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Expected nested-name-specifier before 'iterator_traits'
Expected initializer before '<' token
There are no arguments to '_IterCategory' that depend on a template parameter, so a declaration of '_IterCategory' must be available
Expected nested-name-specifier before 'iterator_traits'
Expected initializer before '<' token
There are no arguments to '_IterCategory' that depend on a template parameter, so a declaration of '_IterCategory' must be available
Expected nested-name-specifier before 'iterator_traits'
Expected initializer before '<' token
There are no arguments to '_IterCategory' that depend on a template parameter, so a declaration of '_IterCategory' must be available
/Users/espais/research/artoolkit/trunk/artoolkit/examples/newproject/newproject.cpp
Expected `}' at end of input
/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/bits/stl_bvector.h
Expected template-name before '<' token
Expected `{' before '<' token
Expected unqualified-id before '<' token
4

2 に答える 2

0

.mmファイルを (Objective-C) ではなくファイル (Objective-C++) にする必要がある場合があります.m

それ以外は、何の問題もないはず#include <vector>です。

于 2012-03-28T06:43:55.343 に答える
0

基本的に、舞台裏で行わなければならないトリックがいくつかありました。ローカル SDK を更新する必要がありました (ARToolkit は、ドキュメントの内容に関係なく、新しいバージョンをサポートしていることが判明しました)。その後、STL ライブラリが機能しました。

于 2012-07-06T18:58:56.377 に答える