OpenCVライブラリを使用してコンピュータビジョンプログラムをコーディングしています。私のプログラムでは、「Vec3d」によって「CLabPixelType」と呼ばれるタイプを「typedef」します。これは、ラボの色空間でカラーピクセルを表すためのものです。ただし、Mac OS X MountainLionでXCode4.4.1を使用してg++でコードをコンパイルすると、次の問題が発生します。
g++ ${CXXFLAGS} main.cpp slic.cpp slic_contrast.cpp -o sclbp -I/opt/local/include
-L/opt/local/lib -lopencv_core.2.4.2 -lopencv_imgproc.2.4.2 -lopencv_highgui.2.4.2
In file included from /usr/include/c++/4.2.1/backward/map.h:59,
from lxp_factory.h:8,
from cmd_parser.h:4,
from main.cpp:2:
/usr/include/c++/4.2.1/backward/backward_warning.h:32:2: warning: #warning This
file includes at least one deprecated or antiquated header. Please consider using
one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples
include substituting the <X> header for the <X.h> header for C++ includes, or
<iostream> instead of the deprecated header >>><iostream.h>. To disable this
warning use -Wno-deprecated.
In file included from lxp_framework.h:5,
from lxp_factory.h:5,
from cmd_parser.h:4,
from main.cpp:2:
img_interpolater.h:10: error: ‘Vec3d’ does not name a type
img_interpolater.h:45: error: ‘CLabPixelType’ does not name a type
img_interpolater.h:97: error: ‘CLabPixelType’ does not name a type
「'Vec3d'はタイプに名前を付けていません」と表示される理由がわかりません。Stackoverflowでこのような「XXはタイプに名前を付けていません」エラーに関する他の質問を確認しましたが、答えが見つかりませんでした。