2

helloworldcppファイルがあります。c++ test.cpp -o test実行可能な「テスト」ファイルを取得してコンパイルすると( -rwxr-xr-x)、実行すると実行され、期待どおりの結果が得られます。

ただし、使用する${CXX} -std=c++0x -I${INCLUDE_DIR1} -c test.cpp -o test -L{LIB_DIR1} -llib_nameと「テスト」ファイルも取得されますが、この場合は実行可能ではありません。だから、実行できません。実行しよchmod +xうとしましたが、実行するためのアクセス許可を取得しましたが、実行しようとするとエラーメッセージが表示されます(実行できません)。

私は何を間違っているのですか、そしてそれをどのように修正することができますか?

4

2 に答える 2

21

-c実行可能ファイルを生成しないようにコンパイラーに指示します (「コンパイルのみ」を意味します)。実行可能ファイルにリンクするのに適したオブジェクトファイルを作成するだけです(おそらく他のオブジェクトファイルやライブラリと一緒に)。

-c実行可能ファイルが必要な場合は、スイッチを削除してください。

完全なコンパイル プロセスの詳細について は、「コンパイル/リンク プロセスはどのように機能しますか?」を参照してください。

于 2013-03-18T14:48:03.000 に答える
2
于 2013-03-18T16:30:09.327 に答える