VC++によるprx作成のmakefile
VC++によるprx作成のmakefile
最近PSPのプラグインを作ることをはじめたのですが、一応コードはできました。
しかし、
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: コマンド "make" はコード 2 で終了しました。
と表示され、ビルドに失敗します。
どうやらmakefileを読み込めていないようで配置を正したり、英小文字でmakefileを入力してみても
読み込めずにこのエラーがでてきます。
makefileの中身が間違っているのでしょうか?
makefileはこのようになっています。
TARGET = test
OBJS = main.o
INCDIR =
CFLAGS = -O2 -G0 -Wall -fno-builtin-printf
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
BUILD_PRX = 1
LIBDIR =
LDFLAGS =
LIBS =-lpspkernel -lc -lpspctrl -lpspuser -lpsppower
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build_prx.mak
しかし、
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: コマンド "make" はコード 2 で終了しました。
と表示され、ビルドに失敗します。
どうやらmakefileを読み込めていないようで配置を正したり、英小文字でmakefileを入力してみても
読み込めずにこのエラーがでてきます。
makefileの中身が間違っているのでしょうか?
makefileはこのようになっています。
TARGET = test
OBJS = main.o
INCDIR =
CFLAGS = -O2 -G0 -Wall -fno-builtin-printf
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
BUILD_PRX = 1
LIBDIR =
LDFLAGS =
LIBS =-lpspkernel -lc -lpspctrl -lpspuser -lpsppower
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build_prx.mak
Re: VC++によるprx作成のmakefile
PSPSDKは既にインストールされていますか?
一度コマンドラインからmakeしてみてください
それとエラーの内容全部貼っていただけると早く原因にたどり着けます
一度コマンドラインからmakeしてみてください
それとエラーの内容全部貼っていただけると早く原因にたどり着けます
Re: VC++によるprx作成のmakefile
PSPSDKはもちろんインストールしてあります。
エラー内容がたりなかったことはすいません。
1>------ ビルド開始: プロジェクト: VSHqpc, 構成: Debug Win32 ------
1> main.cpp: In function 'int main_thread(SceSize, void*)':
1> main.cpp:19: error: expected ',' or '...' before ':' token
1> psp-g++ -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -fno-exceptions -fno-rtti -c -o main.o main.cpp
1> main.cpp: In function 'int module_start(SceSize, void*)':
1> main.cpp:31: warning: suggest parentheses around assignment used as truth value
1> make: *** [main.o] Error 1
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: コマンド "make" はコード 2 で終了しました。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
恐らくmakeはコード2で(ry 意外にも;等が抜けていると思われるエラーもあると思いますが
どうでしょうか?
エラー内容がたりなかったことはすいません。
1>------ ビルド開始: プロジェクト: VSHqpc, 構成: Debug Win32 ------
1> main.cpp: In function 'int main_thread(SceSize, void*)':
1> main.cpp:19: error: expected ',' or '...' before ':' token
1> psp-g++ -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -fno-exceptions -fno-rtti -c -o main.o main.cpp
1> main.cpp: In function 'int module_start(SceSize, void*)':
1> main.cpp:31: warning: suggest parentheses around assignment used as truth value
1> make: *** [main.o] Error 1
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: コマンド "make" はコード 2 で終了しました。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
恐らくmakeはコード2で(ry 意外にも;等が抜けていると思われるエラーもあると思いますが
どうでしょうか?
Re: VC++によるprx作成のmakefile
>main.cpp:19: error: expected ',' or '...' before ':' token
どっかにセミコロン忘れかカッコ忘れか無いですか?
出来ればmain.cもあげていただきたいです
追記:
すいません、セミコロン忘れについてはわかってらっしゃるんですね
そこを訂正すれば多分通ると思うんですが……
どっかにセミコロン忘れかカッコ忘れか無いですか?
出来ればmain.cもあげていただきたいです
追記:
すいません、セミコロン忘れについてはわかってらっしゃるんですね
そこを訂正すれば多分通ると思うんですが……
Re: VC++によるprx作成のmakefile
わかりました。プログラミングを始めたばかりで恥ずかしいですが
このようになっています。
#include <pspkernel.h>
#include <pspctrl.h>
PSP_MODULE_INFO("test", 0x1000, 1, 0);
int main_thread(SceSize args, void *argp)
{
SceCtrlData pad;
while(1)
{
sceKernelDelayThread(50000);
sceCtrlPeekBufferPositive(&pad, 1);
if(pad.Buttons & PSP_CTRL_RTRIGGER & PSP_CTRL_LTRIGGER & PSP_CTRL_SELECT & PSP_CTRL_START & PSP_CTRL_UP);
{
int copyFile(char* ms0:/vsh/vsh.txt, char* ms0:/seplugin/vsh.txt);
}
}
return 0;
}
int module_start(SceSize args, void *argp)
{
int thid = sceKernelCreateThread("mainThread", main_thread, 32, 0x800, 0, NULL);
if(thid = 0)
sceKernelStartThread(thid, args, argp);
return 0;
}
int module_stop(SceSize args, void *argp)
{
return 0;
}
Re: VC++によるprx作成のmakefile
makeの通らない原因は
16行目のセミコロンが不要
18行目の書き方がおかしい
というのが原因でしょう
そこをこのように直したらmake出来ました
あと何と言うか18行目の書き方があきらかにおかしいです
これは関数の宣言でなく呼び出しですよね?更に引数の指定も変数宣言の形なのに文字列をいれているしすごく変です
変数、関数などもっとC言語の基本的なことの理解を深めることをお勧めしますよ
あとコレってプラグインである必要あるんですかね?EBOOT.PBPで十分いいと思うのですが
16行目のセミコロンが不要
18行目の書き方がおかしい
というのが原因でしょう
if(pad.Buttons & PSP_CTRL_RTRIGGER & PSP_CTRL_LTRIGGER & PSP_CTRL_SELECT & PSP_CTRL_START & PSP_CTRL_UP){
copyFile("ms0:/vsh/vsh.txt" , "ms0:/seplugin/vsh.txt");
}
あと何と言うか18行目の書き方があきらかにおかしいです
これは関数の宣言でなく呼び出しですよね?更に引数の指定も変数宣言の形なのに文字列をいれているしすごく変です
変数、関数などもっとC言語の基本的なことの理解を深めることをお勧めしますよ
あとコレってプラグインである必要あるんですかね?EBOOT.PBPで十分いいと思うのですが
Re: VC++によるprx作成のmakefile
何度もすみません。
そのとうりに書き換えたのですが、
1>------ ビルド開始: プロジェクト: VSHqpc, 構成: Debug Win32 ------
1> main.cpp:3:10: warning: missing terminating > character
1> main.cpp:3:10: error: #include expects "FILENAME" or <FILENAME>
1> main.cpp: In function 'int main_thread(SceSize, void*)':
1> main.cpp:18: error: 'copyfile' was not declared in this scope
1> main.cpp: In function 'int module_start(SceSize, void*)':
1> main.cpp:30: warning: suggest parentheses around assignment used as truth value
1> psp-g++ -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -fno-exceptions -fno-rtti -c -o main.o main.cpp
1> make: *** [main.o] Error 1
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: コマンド "make" はコード 2 で終了しました。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
と1> main.cpp:18: error: 'copyfile' was not declared in this scopeというエラーが発生してしまいます。
どうやら該当する関数や変数が有効範囲内で見つからない場合に発生するエラーのようですが、どのようにして直せばいいのでしょうか?
PSPSDKはしっかりインストールしてあります。
ちなみにこれはPSPのvsh.txtをすばやく編集できないかと思い作ってみたコードです。
そのとうりに書き換えたのですが、
1>------ ビルド開始: プロジェクト: VSHqpc, 構成: Debug Win32 ------
1> main.cpp:3:10: warning: missing terminating > character
1> main.cpp:3:10: error: #include expects "FILENAME" or <FILENAME>
1> main.cpp: In function 'int main_thread(SceSize, void*)':
1> main.cpp:18: error: 'copyfile' was not declared in this scope
1> main.cpp: In function 'int module_start(SceSize, void*)':
1> main.cpp:30: warning: suggest parentheses around assignment used as truth value
1> psp-g++ -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -fno-builtin-printf -fno-exceptions -fno-rtti -c -o main.o main.cpp
1> make: *** [main.o] Error 1
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: コマンド "make" はコード 2 で終了しました。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
と1> main.cpp:18: error: 'copyfile' was not declared in this scopeというエラーが発生してしまいます。
どうやら該当する関数や変数が有効範囲内で見つからない場合に発生するエラーのようですが、どのようにして直せばいいのでしょうか?
PSPSDKはしっかりインストールしてあります。
ちなみにこれはPSPのvsh.txtをすばやく編集できないかと思い作ってみたコードです。
Re: VC++によるprx作成のmakefile
copyfile?copyFileの間違いではありませんか?
こちらの環境でコンパイルできたソースを貼っておきます
使用により10時半まで返信できませんがご了承ください
こちらの環境でコンパイルできたソースを貼っておきます
#include <pspkernel.h>
#include <pspctrl.h>
PSP_MODULE_INFO("test", 0x1000, 1, 0);
int main_thread(SceSize args, void *argp)
{
SceCtrlData pad;
while(1)
{
sceKernelDelayThread(50000);
sceCtrlPeekBufferPositive(&pad, 1);
if(pad.Buttons & PSP_CTRL_RTRIGGER & PSP_CTRL_LTRIGGER & PSP_CTRL_SELECT & PSP_CTRL_START & PSP_CTRL_UP)
{
copyFile("ms0:/vsh/vsh.txt", "ms0:/seplugin/vsh.txt");
}
}
return 0;
}
int module_start(SceSize args, void *argp)
{
int thid = sceKernelCreateThread("mainThread", main_thread, 32, 0x800, 0, NULL);
if(thid = 0)
sceKernelStartThread(thid, args, argp);
return 0;
}
int module_stop(SceSize args, void *argp)
{
return 0;
}
Re: VC++によるprx作成のmakefile
どうやらそれをコピーしても無理だったよです。おそらく環境がまだ完全に整っていないようでした。
時間があればビルドしたprxファイルをアップしてくれればありがたいです。
時間があればビルドしたprxファイルをアップしてくれればありがたいです。
Re: VC++によるprx作成のmakefile
言い忘れてすいません。C++を学んで2週間ほどの超初心者をここまで親切にアドバイスしてくださってpopo さんが書きました:どうやらそれをコピーしても無理だったよです。おそらく環境がまだ完全に整っていないようでした。
時間があればビルドしたprxファイルをアップしてくれればありがたいです。
本当にありがとうございました。
Re: VC++によるprx作成のmakefile
いえいえ、逆に2週間でここまで出来るのは素晴らしいことだと思いますよ
一応コレがmakeして出力されたファイルです
ただcopyFileという関数が標準ライブラリで提供されているものなのかよく分からないので実行するのは危険が伴うかもしれません
特権モードで実行するように設定されていますので、使用は自己責任でよろしくお願いします
一応コレがmakeして出力されたファイルです
ただcopyFileという関数が標準ライブラリで提供されているものなのかよく分からないので実行するのは危険が伴うかもしれません
特権モードで実行するように設定されていますので、使用は自己責任でよろしくお願いします
- 添付ファイル
-
test.txt
- 拡張子をprxに変えてお使いください
- (1.38 KiB) ダウンロード数: 141 回