ページ 11

ライブラリとヘッダファイルに定義があるはずの関数がリンクの時にエラーになる

Posted: 2011年7月30日(土) 01:22
by COFE
PSPでのプログラミングの話なのですがここで質問させていただきます
まず、PSPのコンパイラはPSPSDKを使っています
知り合い曰くgccそっくりな作り(エラーとかも同じものがでる)らしいのでとりあえずgccだと思って話を聞いてください

私は今pspsdkの標準関数の他にvlf libraryというライブラリを使ってプログラムを作っています
ただ、vlfGuiGameCentralMenuという関数を使うと必ず下のようなエラーが出ます

game.o: In function `GameTestSelect':
game.c:(.text+0x94): undefined reference to `vlfGuiGameCentralMenu'
collect2: ld returned 1 exit status
make: *** [Basicvlf.elf] Error 1

Googleさんに聞いてみるとこれは関数の宣言がうまくできてないエラーらしいです
しかし、同じライブラリからリンクするはずの関数はエラーが出ないんです
プロジェクトを丸っとアップしますのでどこが悪いのか教えて下さい

PSPSDKは下記のURLよりダウンロードできます
http://sourceforge.jp/projects/sfnet_minpspw/releases/

ちなみに私のライブラリの知識は
「コンパイルしてobjファイルをリンクするときに一緒につなげるやつ」
とお粗末なものです

Re: ライブラリとヘッダファイルに定義があるはずの関数がリンクの時にエラーになる

Posted: 2011年7月30日(土) 01:56
by a5ua
vlf.hには、
vlfGuiGameCentralMenuなる関数は宣言されていないようですが、vlfGuiCentralMenuの間違いではないのですか?

Re: ライブラリとヘッダファイルに定義があるはずの関数がリンクの時にエラーになる

Posted: 2011年7月30日(土) 11:32
by COFE
ありがとうございます
お陰さまでmakeできました
本当ですね、自作関数の名前と混じってしまっていたようです
ただ、昨日の夜やっていたときはVC++で「定義へ移動」を押すとvlf.hに飛ばされていたようなきがするのですが……
眠くて頭がぼーっとしていたのですね
ありがとうございました