このクラス定義は .h ファイルにあり、実装は .cpp ファイルにあります。これをコンパイルしようとすると、ヘッダー ファイルにいくつかのエラーと警告が表示されます。
/home/don/BerthaApex/apex/src/lib/apexmain/apexloader.h:6: error: variable 'APEX_EXPORT ApexLoader' has initializer but incomplete type
class APEX_EXPORT ApexLoader
^
/home/don/BerthaApex/apex/src/lib/apexmain/apexloader.h:6: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
/home/don/BerthaApex/apex/src/lib/apexmain/apexloader.h:9: error: expected primary-expression before 'public'
public:
このエラーが発生するコードは次のとおりです。
#ifndef _APEXLOADER_H
#define _APEXLOADER_H
#include "global.h"
class APEX_EXPORT ApexLoader
{
public:
int Load( int argc, char *argv[]);
};
#endif
「class APEX_EXPORT ApexLoader」がエラーと警告のある行です。
APEX_EXPORT は、この同じファイルからインクルードされるヘッダー ファイルで定義されます。
編集: APEX_EXPORT は「global.h」で次のように定義されています。
#ifdef APEX_MAKEDLL
#define APEX_EXPORT APEX_EXPORT_DECL
#else
#define APEX_EXPORT APEX_IMPORT_DECL
#endif
なぜこれらのエラーがあるのか 誰にも分かりますか?そして、どうすればそれらを取り除くことができますか? 前もって感謝します!
コンパイラ: gcc 4.8.4 OS: Ubuntu 14.04