トラブルシューティング私は私のプログラムの先頭での#includeエラー
#include "SDL/SDL_image.h"
を持っていると私はSDL_imageの機能のいずれかを使用しながら、コンパイルしようとすると、それは
load_image()
がで宣言されていなかったと言いますこの範囲。すべてが正しく設定されていることを確認するために何をすることができますか?
私はこれを私のリンカー設定に含めました。
トラブルシューティング私は私のプログラムの先頭での#includeエラー
#include "SDL/SDL_image.h"
を持っていると私はSDL_imageの機能のいずれかを使用しながら、コンパイルしようとすると、それは
load_image()
がで宣言されていなかったと言いますこの範囲。すべてが正しく設定されていることを確認するために何をすることができますか?
私はこれを私のリンカー設定に含めました。
エラーメッセージはリンカーではなくコンパイラからのものです。そのため、リンカの設定は何の違いもありません。
あなたがまったく無知ならば、コンパイルしようとしている前処理されたコードを生成するようにコンパイラ(プリプロセッサ)に依頼できます。 (該当するgccオプションは-save-temps
です)そうすれば、load_image
が実際に宣言されているかどうかを確認できます。条件付きコンパイルオプションが宣言を除外しているか、インクルードファイルが見つからず、エラーメッセージが表示されないことがあります。 また、あなたが想定しているC++コードをコンパイルしている場合、SDLの内容はextern C
ブロックにラップされているはずです(リンカエラーが発生すると思われますが)。ただし、これらは既にSDLヘッダーに含まれている可能性があります。
それ以外の場合は、前処理された出力をどこかにアップロードしてください。
編集:SDL Image v1.2 documentationによると、イメージローダー機能は実際にはIMG_Load
と呼ばれ、load_image
という言及はありません。
付属のライブラリは、関数を名前空間に配置しますか?そうであれば、([name] :: load_image())を呼び出すときにnamespace [name]を使用する宣言または完全修飾名のいずれかが必要です。 – Matt
いいえ、そうではありません。 – ahota