geany(code :: blocks would have my programs)をコンパイラとして使用して、単純なC++プログラムをコンパイルします。デルのVostro 1500のコンパイルが.cppのファイルの両方で正常に動作しますが、ヘッダファイルは、このエラーを与える上で、私は、Linuxのミント17日午前:なぜ私のC++コンパイラはコンパイルされているようですか?
gcc -Wall "Morgan.h" (in directory: /home/luke/Documents/Coding/Intro#2)
Morgan.h:5:1: error: unknown type name ‘class’
class Morgan
^
Morgan.h:6:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
{
^
Compilation failed.
これはmain.cppにある:
#include <iostream>
#include "Morgan.h"
using namespace std;
int main()
{
Morgan morgObject;
morgObject.sayStuff();
return 0;
}
これは、ヘッダファイル(Morgan.h)です:
#ifndef MORGAN_H
#define MORGAN_H
class Morgan
{
public:
Morgan();
void sayStuff();
protected:
private:
};
#endif // MORGAN_H
そして、これは、クラス(Morgan.cpp)です:
#include <iostream>
#include "Morgan.h"
using namespace std;
Morgan::Morgan()
{
}
void Morgan::sayStuff(){
cout << "Blah Blah Blah" << endl;
}
私は本当に何がうまくいかないのか分からないので、助けていただければ幸いです。同じコードをコピーしてWindowsコンパイラに貼り付けてもうまくいきましたので、Linuxだけかもしれません。私はmain.cppにを実行したときに
も、これは示して何です: "./geany_run_script.sh:5:./geany_run_script.sh:./main:見つかりません" という
さて、あなたはしていますCコンパイラであるgccを使用します。 g ++を使用します。 – GManNickG
また、なぜ 'main.cpp'と' Morgan.cpp'の代わりに 'Morgan.h'をコンパイルしていますか? –
私は正しいことを理解している場合は、Geanyのコンパイルコマンドを使用してコードをコンパイルします。そうであれば、Geanyのビルドコマンドを変更し、これまでの回答で使用されている方法でg ++を使用するように設定することができます。 – Bettorun