2016-04-18 18 views
0

私はVisual Studio 2015でSFMLを使用して、テキストを印刷する必要のあるゲームを作成しています。フォントを読み込み、「フォントフェースを作成できませんでした」というエラーが表示され続けます。私はいくつかの異なるフォントを読み込もうとしましたが、それらのどれもうまく動作せず、正しいディレクトリにあります。これは私のプロジェクトがあるフォルダです。SFML "フォントフェースの作成に失敗しました"問題

これは文字通りそれがすべてであり、それは動作しません:

sf::Font font; 
    if (!font.loadFromFile("arial.ttf")) 
     return EXIT_FAILURE; 

ArialのためのTTFファイルが皆のための問題を解決すると思われるものですプロジェクト自体、同じフォルダ内にありますそうでなければ、私は同じ問題を抱えているオンラインを見つける。フォントがまだ読み込まれない理由は何ですか?

+0

問題を実行しているときの現在の作業ディレクトリは、フォントファイルが存在することを確認していますか(つまり、ファイルをロードする前にcwdを印刷するなどして確認していますか?ファイルへの相対パスではなく絶対パスを使用してみましたか? –

+0

@DanMašek ええ、私はそれらのことを両方行いましたが、私はまだ同じ問題を抱えています。 – SBE

+0

Hmm。デバッグモードでこれを試していますか?もしそうなら、あなたはSFMLのデバッグ版とリンクしていますか? –

答えて

1

単純な答えは、実行可能ファイルを実行すると、現在の作業ディレクトリにではなく、というファイルがあります。

完全修飾ファイル名を入力してください。それが動作します。

Visual Studioを使用すると、おそらくこれは.vcxprojファイルが存在するディレクトリです。

これがうまくいかない場合は、現在のディレクトリを調べる方法を一般的な方法としてthisにチェックすることで、現在の作業ディレクトリを確認できます。

クイックハックとして、プログラムの起動時にファイルを作成するだけで済みます。一度起動し、ファイルの作成場所を確認します。これは現在のディレクトリです。

関連する問題