2016-05-19 6 views
-4

を実行することはできません。私はManjaroを使用していC++は、私はちょうどで++グラムを使用して、私のソースをコンパイルされたバイナリファイル

#include <iostream> 

class Test { 

    void main() { 
    std::cout << "testing" << std::endl; 
    } 
}; 

、それは仮想マシンではありません。

bash: ./exec: cannot execute binary file: Exec format error 

は、ここに私のソースです。 提案がありますか?

+1

質問は、あなたがコンパイルなかった_where_ですそれ? – user3159253

+3

'Test.hpp'の内容は何ですか?メインプログラムの翻訳単位としてヘッダファイルを持つのはかなり珍しいことです。 –

+0

'file。/ exec'は何を表示しますか? – Barmar

答えて

5

GCCはファイルの内容/種類を拡張子で識別し、 ".hpp"はヘッダーファイル(1)と見なされます。ヘッダファイルをコンパイルすると、バイナリで実行不可能なプリコンパイル済みヘッダファイルが生成されます。

溶液は、(1)任意の入力ファイルについてhttps://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_3.html#SEC5を」見る "の.cpp" にファイル名を変更する(2)または "-x C++" を

g++ -o exec Test.cpp 
g++ -o exec -x c++ Test.cpp 

を追加、ファイル名の接尾辞を決定します行われているコンパイルの種類:」

(2)または.ccに、.CP、.CXX、.cppファイル、.C++または.Cのいずれかを参照してください(1)

関連する問題