HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0930
ジョーカー【hsp3dish】ビルドする時、エラー1がでます、Android14解決


ジョーカー

リンク

2016/9/30(Fri) 09:44:10|NO.77025

お世話になります。hsp3dishのビルド時のエラーについて質問したく投稿致します。

アンドロイド向けにゲームを作っているのですが、ソースが5405行位までのものは
HSPdishヘルパーで正常にビルドできるのですが、それ以降書いて(合計7000行位)ビルド
するとNDKビルド処理中のところで、#Error1 -->内部エラーが発生しました(1)と
表示されて、ビルドに失敗します。

エラーメッセージを調べてみると1は「通常は表示されないエラーです。ファイルが破損して
いる場合や、予期しない事態が起こった時に表示されます。」ということがわかりましたが、
どう対処していいかわかりません。

HSP本体の「コンパイル+実行」をしてみると、パソコン上では最後まできちんと動いて
います。何かエラーについて、考えられる原因がありましたら、教えて頂ければ幸いです。

宜しくお願い致します。



この記事に返信する


ジョーカー

リンク

2016/9/30(Fri) 12:09:21|NO.77026

すみません、環境を書くの忘れていました。

・Windows7 Pro
・HSP3.5 beta
・HSP helper ver 1.41
・ID:"android-19"

ちなみに5000行から7000行の部分ですが、別の.hspファイルにすると
正常にビルドできます。
1行から7000行まで、5000から7000をコピー&貼り付けでひとつのファイルにすると
エラー1が起きます。
その合体させたファイルはパソコン上では最初から最後まできちんと動きます。



OK

リンク

2016/9/30(Fri) 13:57:53|NO.77027

>ソースが5405行位までのものは
HSPdishヘルパーで正常にビルドできる

と言うことはそれ以降のソースに問題がある、または、私もそれだけ長いソースを書いたことがあるか
今は確認できないのですが、ソースが長すぎる可能性があります。少なくとも環境は大丈夫だと思います。
そしてエラー1はシステムエラーだったと思うんですが…

>何かエラーについて、考えられる原因

例えばヘルパーがHSPからCに変換するときのエラーなら作られたソース内に/*error*/のコメント文が
残される場合があります。

しかし

>5000行から7000行の部分ですが、別の.hspファイルにすると正常にビルドできます。

なのでそのソースを分割してビルドで良いと思うんですが…



ジョーカー

リンク

2016/9/30(Fri) 15:00:41|NO.77028

OK様、ご返信ありがとうございます。分割ビルドと聞いてやってみたのですが、
うまくいきませんでした。具体的には、3500行程の半分に分けて、最後の行に
#include "XXX.hsp"
と書いて読み込ませてみたのですが、HSPのパソコン上では最後まで読み込んで
動いていますが、ヘルパーでビルドするとエラー1になってしまいます。

分割というのはあまりした事がないのですが、やり方が間違っているでしょうか。
間違ってたらお手数ですがご指摘お願いします。宜しくお願いします。



おにたま(管理人)

リンク

2016/9/30(Fri) 22:20:35|NO.77030

>ジョーカーさん

HSP3Dishのご利用ありがとうございます。
ソースが長くてビルド中にエラーが出るということは、おそらくビルド時のログが大きくなりすぎてpipeexecバッファのオーバーフローが発生しているのではないかと思われます。
HSPのフォルダ以下にある「hsp35beta\hspsdk\hsp3dh\hsp3dh.hsp」をスクリプトエディタで開いて実行するとHSP3Dish helperを起動できるのですが、
160行目あたりにある「#deffunc execcmd str _p1」の先、
「sdim tmp,$40000」を「sdim tmp,$80000」など大きな数字に修正して試してもらっても宜しいでしょうか。
これでもダメな場合は、ビルドでエラーが出た直後に残っている「\Users\ユーザー名\AppData\Roaming\Hot Soup Processor\go.bat」のファイルを
コマンドプロンプトから実行してエラーが出ていないか確認して頂けますか。
色々お手数おかけします。
基本的には、ソースが長すぎて実行ができなくなるというような制約はありません。



ジョーカー

リンク

2016/10/1(Sat) 18:00:15|NO.77032

おにたま様

ご返信ありがとうございます。
hsp3dh.hspを開いて160行目あたりの「sdim tmp,$40000」を80000、160000に変更
してビルドしてみましたが、エラー1が発生してビルドできませんでした。

次にgo.batファイルをコマンドプロントから実行してみましたところ、下記のような
メッセージがでてきました。

Android NDK:WARNING:jni/Android.mk:アプリ名: non-system libraries in linker flag...
:lobawlb
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_....
TATIC_LIBRARIES
Android NDK: or LOCAL_SHATED_LIBRARIES instead to list the library depender...
ies of the
Andoroid NDK : current module

※...はコマンドプロントウインドウが広がらないため、読めなかった部分です。

ご回答お待ちしています。宜しくお願い致します。



SquidSky

リンク

2016/10/3(Mon) 14:00:03|NO.77040

勘からしますと、APIプラットフォームを1つも入れていない可能性があります。
最新の6.0のSDKを入れてみてください。
または、依存関係で問題が発生してるかもしれません。



ジョーカー

リンク

2016/10/3(Mon) 23:34:09|NO.77044

SquidSky様

ご返信ありがとうございます。
APIプラットフォームというのはAndroidSDK Managerでインストールするものでしょうか。
私のパソコンにはAPI21、19、17がインストールされており、5000行位のソースのゲームは
ビルド後、Android端末でも実際に動作しています。
しかし、6.0(API23)では確認していません。まだ試してないのですが、やってみてから
結果をお伝えします。ありがとうございます。



おにたま(管理人)

リンク

2016/10/4(Tue) 00:22:31|NO.77045

>ジョーカーさん
コマンドプロントウインドウは広がりませんが、[ctrl]+[a]で全選択と[ctrl]+[c]でコピーができると思います。
それをメモ帳などに張り付ければすべて見れるはずです。
最後の方の行でエラーが発生している可能性があるので、示して頂けますか。最後の20行くらいで構いません。



ジョーカー

リンク

2016/10/4(Tue) 00:51:39|NO.77046

おにたま様

お世話になっております。コマンドプロントの部分をコピー出来ました。

C:\Users\ユーザー名\AppData\Roaming\Hot Soup Processor>go.bat
Android NDK: WARNING:jni/Android.mk:アプリ名: non-system libraries in linker flags
: -lobaqlib
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_S
TATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependenc
ies of the
Android NDK: current module
[armeabi-v7a] Install : libアプリ名.so => libs/armeabi-v7a/libアプリ名.so

エラー1が出たあと、go.bat実行後、表示されるのはこれがすべてになります。
宜しくお願い致します。



おにたま(管理人)

リンク

2016/10/4(Tue) 01:24:29|NO.77047

>ジョーカーさん
返信ありがとうございます。
なんかNDKのビルドは正しく行われているみたいですね…。
もしかしたらNDKのビルド以前でエラーが出ているのかもしれません。
エラーが出る際に「NDKビルド処理中...」の表示まで進んでいるでしょうか?
もし宜しければ調査をしてみたいので、お手数ですがHSP窓口( hsp@onionsoft.net )までHSPのソース(.hspファイル)を送って頂いても宜しいですか? (データやプロジェクトのデータは不要です。)
こちらで検証をさせて頂きます。



ジョーカー

リンク

2016/10/4(Tue) 08:03:32|NO.77049

おにたま様

お世話になっております。
NDKビルド処理中...のところまできて、しばらくするとエラー1が出ています。
ソースのほうですが、今は外にいるため、後程送付させて頂きます。
お時間のある時で結構ですので、ご検証、宜しくお願い致します。



SquidSky

リンク

2016/10/4(Tue) 19:35:47|NO.77050

このログを元に調べてみました。まず検索で出てきたのは
http://hsp.tv/play/pforum.php?mode=pastwch&num=63625
その方のエラーログにも、今回のジョーカーさんと同様の

Android NDK: WARNING:jni/Android.mk:hsp_y1: non-system libraries in linker flags: -lhsp3lib Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the Android NDK: current module
がありました。
そのスレッドに回答した方では次のようなのがありました。
・HSPDishとJDKの互換性がない
・JDKのフォルダ指定を間違っている(JREではなくJDKのフォルダ)
結果はJDKのフォルダ指定を間違っていたためにエラーが発生していたと判明し解決しました。
もう少し詳細なログがほしいですね...



おにたま(管理人)

リンク

2016/10/5(Wed) 22:02:13|NO.77051

>ジョーカーさん
ソースの送付ありがとうございます。お手数おかけしました。こちらのスレッドで返信させて頂きます。
こちらで検証したところ、やはりpipeexecバッファのオーバーフローだったようで、対策したバージョンのhsp3dhを作成してみました。
HSP3.5β版(OneDrive)のファイルリストからhsp3dhをダウンロードできますので、お試し頂ければと思います。
https://onedrive.live.com/embed?cid=EC425522ED849DA7&resid=EC425522ED849DA7%211229&authkey=AB-pNztAqBp6BcU
これで問題ないようでしたら、次回以降のアップデートにも適用したいと思います。ご報告ありがとうございました。



ジョーカー

リンク

2016/10/6(Thu) 08:10:02|NO.77052

おにたま様

お世話になっております。お忙しい中、ソースの検証ありがとうございます。
OnedriveからダウンロードしたHSP3.5(hsp3dh 1.42)でビルドしたところ、
正常にビルドすることができました。これでゲームを最後まで作る事が
できそうです。ありがとうございます。

SquidSky様

お返事が遅くなり申し訳ありません。
過去ログを調べて頂きありがとうございます。
上記の通り、ビルド1エラーの件は解決することができました。
ありがとうございます。



ONION software Copyright 1997-2021(c) All rights reserved.