2017-04-05 23 views
0

私はSDL2ライブラリを使用したチュートリアルに従おうとしています。私は指示書hereを逐語した。C++実行ファイルはコマンドラインから実行されますが、eclipseでは実行されません。

プログラムは罰金コンパイルが、私は日食以内にそれを実行しようとすると、SDL_Init(SDL_INIT_VIDEO)を呼び出すときに、私は次のエラーを取得する:

SDL2が正しくリンクされていなかったので、私は、これは判断しましたいくつかの研究の後

No available video device

ソースから数時間のインストールを無駄にしてしまい、さまざまなフォーラムで提案されているさまざまな修正を試してみてください。

別のチュートリアルの後、私はSDL2のインストールに何も問題がないことを発見しました。実際、Eclipseプロジェクトによって作成された実行ファイルを端末から実行すると、問題なく実行されます。

同様の質問(例:here)がありますが、エラーはどこで発生するのですが、ターミナルでは発生しません。

いずれのポインタも大歓迎です。私はそれが設定されていない環境変数と関係があるかもしれないと思っていますが、どちらか、または理由は不明です。 SOの回答に基づいて、私はDISPLAY環境変数を追加し、プロジェクト設定で:0に設定しましたが運がありません。

更新:eclipseプロジェクトにすべてのbash環境変数をすばやく追加する方法が見つかりましたが、まだNo available video deviceというエラーが表示されます。

更新2:私は適切な場所に環境変数を追加していませんでした(私はRun環境ではなく、C++ビルド環境に追加していました。 )。下記の答えを投稿してください。

+1

環境(たとえば、PATH、LIBRARY_PATHなど)は、IDEから実行した場合とターミナルから実行した場合とでは多分異なります。 IDEから実行する場合は、環境変数を正しく設定してください。 –

+0

レスポンスに感謝します。 eclipseプロジェクトにすべての環境変数を追加する簡単な方法を見つけましたが、これは修正されていないようですので、環境変数とは関係ありません。 SDL2でビデオデバイスを使用できなくなってしまったような気がしますか? – kabdulla

答えて

1

環境変数の問題でした。修正するには、環境変数DISPLAYをプロジェクトに追加し、:0.0に設定する必要があります。その後、別のユーザーとして実行>>実行構成を選択し、プロジェクトに、これは右クリックを行うに

...

左側のパネルでアプリケーションを選択します。右側の[環境]タブを選択します。 New ...をクリックし、Name:フィールドにDISPLAYと入力し、Value:フィールドに:0.0と入力します。

[適用]をクリックしてから[実行]をクリックすると、正常に動作します。 @Anon Mailのおかげで、環境変数の方向に私を向けることができました。

関連する問題