0

Linux(Centos 6.2)のEclipseでg ++でコンパイルしようとしている古いMFCベースのC ++プロジェクトがあります。ヘッダー ファイルから次のエラーが表示されます。

RawData.h:54: error: expected template-name before ‘<’ token
RawData.h:54: error: expected ‘{’ before ‘<’ token
RawData.h:54: error: expected unqualified-id before ‘<’ token

問題のあるヘッダー ファイルの一部を次に示します (54 行目から)。

class CRawDayData: public CArray<CRawQHData*,CRawQHData*>
{
public:
    CRawDayData();
    virtual ~CRawDayData();

public:
    tm m_tmDate;

};

私は Linux を使用していて、MFC の afx を使用していないため、この問題は CArray に関係していると考えています。何かご意見は?

4

2 に答える 2

2

それが唯一のエラーである場合は、CArrayをSTLに相当するstd::vectorに置き換えることをお勧めします。MFCまたはWindowsAPIが広く使用されている場合は、Winelibに対してコンパイルしてみてください。

参照:LinuxでMFCプログラムを実行する

STLを使用すると、次のように記述できます。

#include<vector>

class CRawDayData: public vector<CRawQHData*>
{
public:
    CRawDayData();
    virtual ~CRawDayData();

public:
    tm m_tmDate;

};
于 2012-07-05T04:06:16.517 に答える
1

すべての MFC は Windows 専用であるため、Linux では使用できません。STL、wxWidgets などのクロスプラットフォームまたは Linux 固有のライブラリを使用するように変換する必要があります。

于 2012-07-05T03:29:01.513 に答える