Re: main.cppがandroidエミュレータで実行出来ない ( No.41 ) |
- 名前:釉薬 日時:2018/03/21 23:06
> test.NativeActivity(android-19) がビルド出来ない状態
今まで散々あれこれ書いてきましたが、自分もまだAndroid版は知識が少なく、GooglePlayでの公開とか
考えたこともない(というかやり方を知らない)レベルの実力しかありませんので、言えることがありません。
DxLibAndroidSample_VS2017.slnを使い続けても大丈夫だと思いますが、
サンプルプログラム実行用フォルダ
のように全角文字が入っているフォルダ名だと、たぶんいつか必ず何か問題が起きると思うので、
Sample
くらいに変更しておいた方がいいかもしれません。(これくらいしか言えることがない(笑))
ただ、開発全般については思うことがありますので、ずらっと書いてみました。
@『DXライブラリ置き場掲示板』をあれこれ読む
Android版・Windows版のDXライブラリ、C/C++言語全般など、「いつか自分も遭遇する日が来る」質問ネタが
多数あります。GooglePlayへの登録について書かれたスレッドもありました。
「読んでも全然わからん」スレッドも多いかもしれませんが、「あぁ、こんな非公開関数があるのか」とか、
管理人さんが書いてくれている「回答プログラム」を実際に動かしてみるとか、勉強になると思います。
AWindows版でビルドできるようにする
プログラムを作っていくと、「C言語のこの関数を、ちょっと動作確認してみたい」なんてことがしばしばあります。
Android版をビルド⇒エミュレーターでの実行・確認は時間がかかるので、やはり効率が悪いです。
また、ゲームを作っていくと、マップエディタとかデータ変換プログラムとか、いろんなツールを作りたくなります。
Windowsでサクっと動かして確認したり、ツールを作ったりできると、なにかと便利なことも多いと思います。
Btest.NativeActivity をビルドできるように少しずつ試す
やはり動かないのはすっきりしませんよね。DxLibAndroidSample_VS2017.slnは動くわけですから、例えば、プロジェクトの
プロパティを「全項目」メモっておき、test.NativeActivity のと1つ1つ確認し、変更したりしてみる、というのもよいでしょう。
(大変そうですが…)
C実機で動かす
Android版を試しているということは、スマホかタブレットをお持ちかと思います。
実際に実機で動くと嬉しいものです。(※「オレってすげぇー!」と錯覚します)
モチベーションを維持するという意味でも、わりと重要なことだと思います。
DC/C++言語習得を頑張る
なにはともあれ、ココが重要です。
また、ネットで検索してプログラムのサンプルを見つけたら、コメントにそのアドレスをメモっておきましょう。
あとで「そういやコレ、どこにあったっけ?」となることが多いので。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.42 ) |
- 名前:管理人 日時:2018/03/21 23:32
> 釉薬さん
> (コメントNo.4やNo.18に書いたのですが) 管理人さんがコメントNo.1で「DxLibAndroidSample_VS2017.slnは、あとはビルドするだけの状態」と
> 書かれていますが、Ver.3.19に含まれているサンプルのプロジェクトファイルはAndroid版の初期公開時、つまり「プロジェクトに追加すべき
> ファイル_Android用」しか無い時期のままですので、ARMとx86に分かれている現在では「そのままF7を押すだけでは」ビルドできません。
すみません、コメントを見落としていました、ご指摘ありがとうございます m(_ _;m
サンプルプロジェクトの設定を修正しておきました
> 田中一郎さん
ログの貼り付けありがとうございます
> すみません。No.38にも書いたのですが、いくつか聞きたい事がありまして、DxLibAndroidSample_VS2017.sln は使えるようになったのですが、test.NativeActivity(android-19) は
> 未だエラーメッセージが出ます。
すみません、なぜ test.NativeActivity(android-19) ではエラーとなるのかわかりました
私が作成した使い方ページには ARM用の設定しか書いていないからです
( 『スマホと言えば CPU は ARM だし、みんな ARM の設定でしか実行しないよね!』と、x86 の設定手順を省略していました・・・ )
x86用の設定についても記載するように先ほど更新しましたので、何度もお手数で申し訳ありませんが
よろしければ今一度使い方ページの『4.DXライブラリを使用するためのプロジェクトの設定を行う』の手順を行ってください、
<Visual Studio Community 2017 の Androidアプリ開発でのDXライブラリの使い方>
https://dxlib.xsrv.jp/use/dxuse_vscom2017_android.html
今までなかった『x86』という単語が登場します( 無かった場合、古い内容が表示されている可能性がありますので Ctrlキーを押しながら F5キーを押してください )
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.43 ) |
- 名前:田中一郎 日時:2018/03/22 16:09
管理人さん
コメントを書きこもうとしたのですが、
ERROR !
書き込み禁止語句が含まれています。
ご迷惑お掛けします。
と出て書きこむ事ができません。
また、どれが禁止語句なのかも特定する事ができませんでした。
自分のコメントを別の記事に添付する術を知らないので、すみませんが、何が禁止語句なのか教えて頂けないでしょうか。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.44 ) |
- 名前:管理人 日時:2018/03/23 01:22
一時的にどのような禁止語句でエラーとなってしまったのか表示するようにしましたのでご確認ください m(_ _)m
あと、文字コード変換の関係でちょくちょく投稿文に含まれていない禁止語句でエラーになってしまうことがあります
その場合は書込み禁止語句の処理自体を一時的に停止しようと思います
( 因みに書込み禁止語句の設定は主に迷惑書き込み業者対策なので、禁止語句を表示してしまうと
禁止語句を避けた書き込みをされてしまうので基本的に表示しないようにしています )
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.45 ) |
- 名前:田中一郎 日時:2018/03/23 16:19
管理人さん
禁止語句の件、ありがとうございます。
禁止語句が表示されないのはそういう理由だったんですね。
その設定を一時的にでも変更してくださり、ありがとうございます。
以下が、管理人さん、釉薬さんへの返信内容です。
管理人さん
新しくマニュアルに書かれた事なんですが、その事に関しては、これまでの中でやっております。
プロパティのプラットホームをARM版で設定、その後、x86版で設定する、という事ですよね。
一応新しくなったマニュアルの方法を試してみましたが、エラーメッセージがでました。
以下にその内容を記します。
---------------------------------------
1>------ ビルド開始: プロジェクト: test_x86.NativeActivity, 構成: Debug x86 ------
1>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
1>ANT_HOME=
1>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
1>NDK_ROOT=
1>main.cpp
1>main.cpp(1,13): fatal error : 'DxLib.h' file not found
1><U+FEFF>#include "DxLib.h"
1> ^~~~~~~~~
1>1 error generated.
1>プロジェクト "test_x86.NativeActivity.vcxproj" のビルドが終了しました -- 失敗。
2>------ ビルド開始: プロジェクト: test_x86.Packaging, 構成: Debug x86 ------
2>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
2>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
2>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
2>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets(227,5): error : Unable to open file C:\Android_file\test_x86\x86\Debug\libtest_x86.so.recipe because 2
2>プロジェクト "test_x86.Packaging.androidproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、2 失敗、0 更新不要、0 スキップ ==========
------------------------------------------
釉薬さん
>今まで散々あれこれ書いてきましたが、自分もまだAndroid版は知識が少なく、GooglePlayでの公開とか
>考えたこともない(というかやり方を知らない)レベルの実力しかありませんので、言えることがありません。
>DxLibAndroidSample_VS2017.slnを使い続けても大丈夫だと思いますが、
> サンプルプログラム実行用フォルダ
>のように全角文字が入っているフォルダ名だと、たぶんいつか必ず何か問題が起きると思うので、
> Sample
>くらいに変更しておいた方がいいかもしれません。(これくらいしか言えることがない(笑 ))
Android版はあまり知識が無いそうですが、それでも助かりました。
釉薬さんのアドバイスが無ければ、恐らく DxLibAndroidSample_VS2017.sln をビルドする事は出来なかったと思います。
本当にありがとうございます。
フォルダ名の変更については、慣れてきて、多くのプログラムを書く事になったら、変えてみようと思います。
@に関しては、嫌でもそうなると思います。今の最初の段階でもエラーが起こり、割と掲示板の記事を読み漁りましたので、
多分これからも自分の問題と関連した記事を読んでいくと思います。
Aもやってみようと思います。今はandroid版だけに専念しようと思いますが、慣れてきたらWindows版にもチャレンジしてみようと思います。
Bですが、これは少しずつ問題が見えてきたらいいなと思います。釉薬さんが仰っているように、DxLibAndroidSample_VS2017.sln と
test.NativeActivity のプロパティを比較して、どこが違うのか見てみたんですが、ほとんど違っていて、
これを1つ1つ解決するのは骨が折れるだろうなと思いました。
ただ、他の人がマニュアルの通りにやってもエラーが起きていないようなので、僕も何かを見落としているだけのような気もするので、
test.NativeActivity に関しては、そんなに難しい所じゃなく、恐らく単純な部分が間違っているのではないかと思っています。
まあ、それでも分からなければ試すかもしれませんが・・・(汗)
C、これは是非やりたいです。PCで作ったプログラムをスマホで実際に動かしてみたいです。多分いつかやると思いますが、
今はPCのエミュレータで頑張って行こうと思います。
D、これは必須だと思っています。現在C言語の方は本も読んで、ある程度の知識はあるのですが、C++はまだ手に付けておりません。
なので、C++もいつか勉強しようと思っています。
すいません、メインの質問から少しずれるんですが。ゲームプログラミングをする上で、英語力は身に付けた方がいいのでしょうか。
ネットの記事を見ると、プログラミングには英語力も必要という内容をよく見るので、英語力はあった方がいいのでしょうか。
僕は恥ずかしながら企業から依頼が来るレベルのゲームプログラマーを目標としているのですが、
そのレベルの人達は皆英語力があるのでしょうか。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.46 ) |
- 名前:管理人 日時:2018/03/24 15:11
x86の設定も既にされていたのですね
エラー内容ですが、clang や stdio.h のエラーが無くなり、ごく一般的な『DxLib.h が見つからない』というエラーになっています
『DxLib.h が見つからない』というエラーは、基本的に『追加のインクルード ディレクトリ』に『プロジェクトに追加すべきファイル_Android_x86用』のパスが
正常に設定されていないときに発生します
よろしければ『追加のインクルードディレクトリ』にどのようなパスを追加されているのか教えていただけないでしょうか?
あと、『ARM』でのビルドも『DxLib.h が見つからない』というエラーになるのでしょうか?
( もしエラーになる場合は、お手数ですが『出力』タブのエラーメッセージを載せてください m(_ _)m )
> すいません、メインの質問から少しずれるんですが。ゲームプログラミングをする上で、英語力は身に付けた方がいいのでしょうか。
> ネットの記事を見ると、プログラミングには英語力も必要という内容をよく見るので、英語力はあった方がいいのでしょうか。
> 僕は恥ずかしながら企業から依頼が来るレベルのゲームプログラマーを目標としているのですが、
> そのレベルの人達は皆英語力があるのでしょうか。
『企業から依頼を受けるようなフリーのプログラマー』という方に私は関わったことが無いので『そのレベルの人達は皆英語力がある』かどうかは分かりませんが、
プログラミングに関する資料はレベルが高くなればなるほど日本語で書かれた資料が少なくなり英語で書かれた資料しか存在しない割合が高くなるので、
最低でも英語で書かれた資料を読める程度の英語力が無いと『企業が依頼したくなるほどの技術力』を身に付けるのは難しいのではないかと思います
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.47 ) |
- 名前:田中一郎 日時:2018/03/24 18:10
>x86の設定も既にされていたのですね
>
>エラー内容ですが、clang や stdio.h のエラーが無くなり、ごく一般的な『DxLib.h が見つからない』というエラーになっています
>
>『DxLib.h が見つからない』というエラーは、基本的に『追加のインクルード ディレクトリ』に『プロジェクトに追加すべきファイル_Android_x86用』のパスが
>正常に設定されていないときに発生します
>
>よろしければ『追加のインクルードディレクトリ』にどのようなパスを追加されているのか教えていただけないでしょうか?
>
>あと、『ARM』でのビルドも『DxLib.h が見つからない』というエラーになるのでしょうか?
>( もしエラーになる場合は、お手数ですが『出力』タブのエラーメッセージを載せてください m(_ _)m )
僕の認識不足なのかもしれませんが、プロパティ→プラットフォームが「すべてのプラットフォーム」となっている時は追加のインクルードディレクトリには何も設定しておりません。
マニュアルにも記述する事は書かれていなかったので。
なので、一応x86のパスを追加した場合のエラーメッセージも書いておきます。
1>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
1>ANT_HOME=
1>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
1>NDK_ROOT=
1>main.cpp
1>main.cpp(1,13): fatal error : 'DxLib.h' file not found
1><U+FEFF>#include "DxLib.h"
1> ^~~~~~~~~
1>1 error generated.
1>プロジェクト "test_x86.NativeActivity.vcxproj" のビルドが終了しました -- 失敗。
2>------ ビルド開始: プロジェクト: test_x86.Packaging, 構成: Debug x86 ------
2>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
2>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
2>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
2>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets(227,5): error : Unable to open file C:\Android_file\test_x86\x86\Debug\libtest_x86.so.recipe because 2
2>プロジェクト "test_x86.Packaging.androidproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、2 失敗、0 更新不要、0 スキップ ==========
プロパティ→プラットフォームが「x86」になっている場合の「追加のインクルードディレクトリ」のパスは
C/C++→全般
C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)
リンカー→全般
C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)
プロパティ→プラットフォームが「ARM」になっている場合の「追加のインクルードディレクトリ」のパスは
C/C++→全般
C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_ARM用;C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;$(Sysroot)\usr\include;$(StlIncludeDirectories)%(AdditionalIncludeDirectories)
C/C++→全般
C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_ARM用;C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;$(Sysroot)\usr\include;$(StlIncludeDirectories)%(AdditionalIncludeDirectories)
となっています。
上記の状態でARM版でビルドした場合は以下のようになります。
1>------ ビルド開始: プロジェクト: test_x86.NativeActivity, 構成: Debug ARM ------
1>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
1>ANT_HOME=
1>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
1>NDK_ROOT=
1>main.cpp
1>main.cpp(1,13): fatal error : 'DxLib.h' file not found
1><U+FEFF>#include "DxLib.h"
1> ^~~~~~~~~
1>1 error generated.
1>プロジェクト "test_x86.NativeActivity.vcxproj" のビルドが終了しました -- 失敗。
2>------ ビルド開始: プロジェクト: test_x86.Packaging, 構成: Debug ARM ------
2>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
2>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
2>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
2>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets(227,5): error : Unable to open file C:\Android_file\test_x86\ARM\Debug\libtest_x86.so.recipe because 2
2>プロジェクト "test_x86.Packaging.androidproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、2 失敗、0 更新不要、0 スキップ ==========
>『企業から依頼を受けるようなフリーのプログラマー』という方に私は関わったことが無いので『そのレベルの人達は皆英語力がある』かどうかは分かりませんが、
>プログラミングに関する資料はレベルが高くなればなるほど日本語で書かれた資料が少なくなり英語で書かれた資料しか存在しない割合が高くなるので、
>最低でも英語で書かれた資料を読める程度の英語力が無いと『企業が依頼したくなるほどの技術力』を身に付けるのは難しいのではないかと思います
わざわざお答え頂きありがとうございます。
レベルが高くなるほど、ほとんど英語の資料しか存在しなくなるんですね。
それを聞いて英語も勉強する意欲が湧いてきました。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.48 ) |
- 名前:釉薬 日時:2018/03/24 22:03
今回のビルドエラー(DxLib.h が見つからない件)には関係ありませんが、気になったので書きます。
> プロパティ→プラットフォームが「x86」になっている場合の「追加のインクルードディレクトリ」のパスは
> C/C++→全般
> C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)
はいいですが、次の
> リンカー→全般
> C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)
は、「リンカー ⇒ 全般 ⇒ 追加のライブラリディレクトリ」のことですか?
ここが「C/C++ ⇒ 全般 ⇒ 追加のインクルードディレクトリ」と同じでは、どっちみちビルドは成功しません。
コメント「No.32」に書いたように
C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;%(AdditionalLibraryDirectories);$(ToolchainPrebuiltPath)\lib\gcc\i686-linux-android\$(ToolchainFullVersionName);$(StlLibraryPath)
とかになるはずです。
マニュアルページには
H 次に右側に表示されている『追加のライブラリ ディレクトリ』の項目にDと全く同じDXライブラリの
パッケージ内に入っている『プロジェクトに追加すべきファイル_Android_ARM用』フォルダのパスを
追加してから、再度ダイアログ右下にある『適用(A)』ボタンを押します。
と書いてあります。もしかしたら「D(※追加のインクルードファイルのフォルダ)と全く同じ」というところを勘違いしたのかと思いまして。
「Dと同じフォルダにする」のではなく、「Dと同じフォルダを(元々入力してあるフォルダに)追加する」なので、ご注意ください。
あと、ARMの方の設定では、ARMとx86の両方のフォルダが追加されています。まぁインクルードの方では実害はないかもしれませんが…気になりますよね。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.49 ) |
- 名前:田中一郎 日時:2018/03/25 15:32
釉薬さん
設定を間違えていました。ご指摘ありがとうございます。
以下にその状態でビルドした時のエラーメッセージを載せておきます。
1>------ ビルド開始: プロジェクト: test_ARM.NativeActivity, 構成: Debug x86 ------
1>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
1>ANT_HOME=
1>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
1>NDK_ROOT=
1>main.cpp
1>main.cpp(1,13): fatal error : 'DxLib.h' file not found
1><U+FEFF>#include "DxLib.h"
1> ^~~~~~~~~
1>1 error generated.
1>プロジェクト "test_ARM.NativeActivity.vcxproj" のビルドが終了しました -- 失敗。
2>------ ビルド開始: プロジェクト: test_ARM.Packaging, 構成: Debug x86 ------
2>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
2>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
2>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
2>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets(227,5): error : Unable to open file C:\Android_file\test_ARM\x86\Debug\libtest_ARM.so.recipe because 2
2>プロジェクト "test_ARM.Packaging.androidproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、2 失敗、0 更新不要、0 スキップ ==========
こちらがARM版です。
1>------ ビルド開始: プロジェクト: test_ARM.NativeActivity, 構成: Debug ARM ------
1>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
1>ANT_HOME=
1>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
1>NDK_ROOT=
1>main.cpp
1>main.cpp(1,13): fatal error : 'DxLib.h' file not found
1><U+FEFF>#include "DxLib.h"
1> ^~~~~~~~~
1>1 error generated.
1>プロジェクト "test_ARM.NativeActivity.vcxproj" のビルドが終了しました -- 失敗。
2>------ ビルド開始: プロジェクト: test_ARM.Packaging, 構成: Debug ARM ------
2>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
2>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
2>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
2>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets(227,5): error : Unable to open file C:\Android_file\test_ARM\ARM\Debug\libtest_ARM.so.recipe because 2
2>プロジェクト "test_ARM.Packaging.androidproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、2 失敗、0 更新不要、0 スキップ ==========
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.50 ) |
- 名前:釉薬 日時:2018/03/25 19:17
ちょっと試してほしいことがあります。
@DxLibAndroidSample_VS2017.slnを「リビルド」する
ARMでもx86でもどちらか1つでよいのですが、「リビルド」したときの出力メッセージを載せてもらえませんか?
コメントNo.37で確かに「ARMのビルドは成功」しているのですが、実は、見たい部分が載っていません。
リビルドすると表示される項目ですので、そこが見たいです。
(1>〇〇〇〇〇 と 2>〇〇〇〇〇 の両方が見たい)
リビルドは [ビルド] ⇒ [ソリューションのリビルド] または Ctrl + Alt + F7 です。
Atest_x86.Activityをいじってみる
@とは全然別件です。
設定をいじりますので、いつでも元の状態に戻せるように、まず test_x86 のコピー(バックアップ)を作っておきましょう。
フォルダは C:\Android_file\test_x86 ですよね?
(エクスプローラーで test_x86 フォルダをクリックして Ctrl + C して Ctrl + V すると test_x86 - コピー という
フォルダができます。)
で、test_x86 のプロジェクトを開き、メニューの プロジェクト をクリックしてください。
一番上に ソリューションの再ターゲット という項目がありませんか? 無ければ終了ですが、あればそれをクリックして、
OK をクリックしてみてください。なんやらエラーが出ると思いますが気にせず、それから F7 でビルドしてみてください。
※ところでコメントNo.47では test_x86 ですが、No.49では test_ARM を使っています。test_x86 だけにする、というのでは
なかったですか? あれこれごっちゃになっている気がします。
(※追記しました)
Aの続き
上の内容でもビルドできない場合。
main.cpp があるフォルダ、おそらく
C:\Android_file\test_x86\test_x86\test_x86.NativeActivity
だと思いますが、そこに C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用 の中にある
ファイルを全てコピー&ペーストしましょう。つまりmain.cppとDxLib.hなどを同じ場所に置くということです。
これで F7 でビルドすると、今まで出ていた
main.cpp(1,13): fatal error : 'DxLib.h' file not found
のエラーは出なくなると思います。これで↑のエラーが出ると・・・もうわかりません。
もしかしたらビルドに成功するかもしれませんが、おそらくリンクできない状態なので
以下のようなエラーが多発していると思います。
1>main.cpp(6): error : undefined reference to 'DxLib::DxLib_Init()'
1>main.cpp(11): error : undefined reference to 'DxLib::GetColor(int, int, int)'
プロジェクトのプロパティ(すべての構成 x86) ⇒ リンカー ⇒ 全般 ⇒ 追加のライブラリ ディレクトリで、
現在入力してあるものはそのままで、先頭に .; (ドットとセミコロンの2文字)を追加してみてください。
つまり、こんな感じです。
.;C:\DxLib_Android\プロジェクトに追加すべきファイル_Android_x86用;%(AdditionalLibraryDirectories);$(ToolchainPrebuiltPath)\lib\gcc\i686-linux-android\$(ToolchainFullVersionName);$(StlLibraryPath)
これで F7 を押してビルドできるか、試してみてください。
※これでビルドできたとしても、x86専用 になるのでARMではビルドできなくなります。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.51 ) |
- 名前:田中一郎 日時:2018/03/25 21:43
釉薬さん
>@DxLibAndroidSample_VS2017.slnを「リビルド」する
> ARMでもx86でもどちらか1つでよいのですが、「リビルド」したときの出力メッセージを載せてもらえませんか?
> コメントNo.37で確かに「ARMのビルドは成功」しているのですが、実は、見たい部分が載っていません。
> リビルドすると表示される項目ですので、そこが見たいです。
> (1>〇〇〇〇〇 と 2>〇〇〇〇〇 の両方が見たい)
> リビルドは [ビルド] ⇒ [ソリューションのリビルド] または Ctrl + Alt + F7 です。
以下に「x86」でのリビルドの結果を載せておきます。
1>------ すべてのリビルド開始: プロジェクト:DxLibAndroidSample_VS2017.NativeActivity, 構成: Debug x86 ------
1>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
1>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
1>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
1>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
1>main.cpp
1>DxLibAndroidSample_VS2017.NativeActivity.vcxproj -> C:\DxLib_Android\サンプルプログラム実行用フォルダ\x86\Debug\libDxLibAndroidSample_VS2017.so
2>------ すべてのリビルド開始: プロジェクト:DxLibAndroidSample_VS2017.Packaging, 構成: Debug x86 ------
2>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
2>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
2>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
2>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>Buildfile: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\Package\build.xml
2>
2>-set-mode-check:
2>
2>-set-debug-files:
2>
2>-check-env:
2> [checkenv] Android SDK Tools Revision 25.2.5
2> [checkenv] Installed at C:\Program Files (x86)\Android\android-sdk
2>
2>-setup:
2> [echo] Project Name: DxLibAndroidSample_VS2017.Packaging
2> [gettype] Project Type: Application
2>
2>-set-debug-mode:
2>
2>-debug-obfuscation-check:
2>
2>-pre-build:
2>
2>-build-setup:
2>[getbuildtools] Using latest Build Tools: 25.0.3
2> [echo] Resolving Build Target for DxLibAndroidSample_VS2017.Packaging...
2>[gettarget] Project Target: Android 5.0.1
2>[gettarget] API level: 21
2> [echo] ----------
2> [echo] Creating output directories if needed...
2> [echo] ----------
2> [echo] Resolving Dependencies for DxLibAndroidSample_VS2017.Packaging...
2>[dependency] Library dependencies:
2>[dependency] No Libraries
2>[dependency]
2>[dependency] ------------------
2> [echo] ----------
2> [echo] Building Libraries with 'debug'...
2> [subant] No sub-builds to iterate on
2>
2>-code-gen:
2>[mergemanifest] Found Deleted Target File
2>[mergemanifest] Merging AndroidManifest files into one.
2>[mergemanifest] Manifest merger disabled. Using project manifest only.
2> [echo] hasCode = false. Skipping aidl/renderscript/R.java
2>
2>-pre-compile:
2>
2>-compile:
2> [echo] hasCode = false. Skipping...
2>
2>-post-compile:
2>
2>-obfuscate:
2>
2>-dex:
2> [echo] hasCode = false. Skipping...
2>
2>-crunch:
2> [crunch] Crunching PNG Files in source dir: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\Package\res
2> [crunch] To destination dir: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\Package\bin\res
2> [crunch] Crunched 0 PNG files to update cache
2>
2>-package-resources:
2> [aapt] Found Deleted Target File
2> [aapt] Creating full resource package...
2>
2>-package:
2>[apkbuilder] Found Deleted Target File
2>[apkbuilder] Creating DxLibAndroidSample_VS2017.Packaging-debug-unaligned.apk and signing it with a debug key...
2>
2>-post-package:
2>
2>-do-debug:
2> [zipalign] Running zip align on final apk...
2> [echo] Debug Package: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\DxLibAndroidSample_VS2017.apk
2>[propertyfile] Updating property file: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\Package\bin\build.prop
2>[propertyfile] Updating property file: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\Package\bin\build.prop
2>[propertyfile] Updating property file: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\Package\bin\build.prop
2>[propertyfile] Updating property file: C:\DxLib_Android\サンプルプログラム実行用フォルダ\DxLibAndroidSample_VS2017\DxLibAndroidSample_VS2017.Packaging\x86\Debug\Package\bin\build.prop
2>
2>-post-build:
2>
2>debug:
2>
2>BUILD SUCCESSFUL
2>Total time: 14 seconds
========== すべてリビルド: 2 正常終了、0 失敗、0 スキップ ==========
>Atest_x86.Activityをいじってみる
> @とは全然別件です。
> 設定をいじりますので、いつでも元の状態に戻せるように、まず test_x86 のコピー(バックアップ)を作っておきましょう。
> フォルダは C:\Android_file\test_x86 ですよね?
> (エクスプローラーで test_x86 フォルダをクリックして Ctrl + C して Ctrl + V すると test_x86 - コピー という
> フォルダができます。)
>
> で、test_x86 のプロジェクトを開き、メニューの プロジェクト をクリックしてください。
> 一番上に ソリューションの再ターゲット という項目がありませんか? 無ければ終了ですが、あればそれをクリックして、
> OK をクリックしてみてください。なんやらエラーが出ると思いますが気にせず、それから F7 でビルドしてみてください。
まず、ソリューションの再ターゲットの結果から載せます。
-----------------------------------------------
プロジェクト 'test_x86.NativeActivity' をアップグレードしています...
構成 'Debug|ARM64': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
構成 'Debug|ARM': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
構成 'Debug|x64': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
構成 'Debug|x86': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
構成 'Release|ARM64': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
構成 'Release|ARM': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
構成 'Release|x64': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
構成 'Release|x86': プラットフォーム ツールセットを 'Clang_3_8' に変更しています (以前は 'Clang_3_6')。
再ターゲットの終了: 完了 1、失敗 0、スキップ 0
------------------------------------------------
次にF7でビルドした結果を載せますが、なんと成功しました!!
1>------ ビルド開始: プロジェクト: test_x86.NativeActivity, 構成: Debug x86 ------
1>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
1>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
1>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
1>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
1>main.cpp
1>test_x86.NativeActivity.vcxproj -> C:\Android_file\test_x86 - コピー\x86\Debug\libtest_x86.so
2>------ ビルド開始: プロジェクト: test_x86.Packaging, 構成: Debug x86 ------
2>ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
2>ANT_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3
2>JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
2>NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b
2>Buildfile: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\build.xml
2>
2>-set-mode-check:
2>
2>-set-debug-files:
2>
2>-check-env:
2> [checkenv] Android SDK Tools Revision 25.2.5
2> [checkenv] Installed at C:\Program Files (x86)\Android\android-sdk
2>
2>-setup:
2> [echo] Project Name: test_x86.Packaging
2> [gettype] Project Type: Application
2>
2>-set-debug-mode:
2>
2>-debug-obfuscation-check:
2>
2>-pre-build:
2>
2>-build-setup:
2>[getbuildtools] Using latest Build Tools: 25.0.3
2> [echo] Resolving Build Target for test_x86.Packaging...
2>[gettarget] Project Target: Android 5.0.1
2>[gettarget] API level: 21
2> [echo] ----------
2> [echo] Creating output directories if needed...
2> [mkdir] Created dir: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin
2> [mkdir] Created dir: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\res
2> [mkdir] Created dir: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\rsObj
2> [mkdir] Created dir: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\rsLibs
2> [echo] ----------
2> [echo] Resolving Dependencies for test_x86.Packaging...
2>[dependency] Library dependencies:
2>[dependency] No Libraries
2>[dependency]
2>[dependency] ------------------
2> [echo] ----------
2> [echo] Building Libraries with 'debug'...
2> [subant] No sub-builds to iterate on
2>
2>-code-gen:
2>[mergemanifest] Merging AndroidManifest files into one.
2>[mergemanifest] Manifest merger disabled. Using project manifest only.
2> [echo] hasCode = false. Skipping aidl/renderscript/R.java
2>
2>-pre-compile:
2>
2>-compile:
2> [echo] hasCode = false. Skipping...
2>
2>-post-compile:
2>
2>-obfuscate:
2>
2>-dex:
2> [echo] hasCode = false. Skipping...
2>
2>-crunch:
2> [crunch] Crunching PNG Files in source dir: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\res
2> [crunch] To destination dir: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\res
2> [crunch] Crunched 0 PNG files to update cache
2>
2>-package-resources:
2> [aapt] Creating full resource package...
2>
2>-package:
2>[apkbuilder] Current build type is different than previous build: forced apkbuilder run.
2>[apkbuilder] Creating test_x86.Packaging-debug-unaligned.apk and signing it with a debug key...
2>
2>-post-package:
2>
2>-do-debug:
2> [zipalign] Running zip align on final apk...
2> [echo] Debug Package: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\test_x86.apk
2>[propertyfile] Creating new property file: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\build.prop
2>[propertyfile] Updating property file: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\build.prop
2>[propertyfile] Updating property file: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\build.prop
2>[propertyfile] Updating property file: C:\Android_file\test_x86 - コピー\test_x86\test_x86.Packaging\x86\Debug\Package\bin\build.prop
2>
2>-post-build:
2>
2>debug:
2>
2>BUILD SUCCESSFUL
2>Total time: 7 seconds
========== ビルド: 2 正常終了、0 失敗、0 更新不要、0 スキップ ==========
>※ところでコメントNo.47では test_x86 ですが、No.49では test_ARM を使っています。test_x86 だけにする、というのでは
> なかったですか? あれこれごっちゃになっている気がします。
すいません(-_-;)。その時の記憶は曖昧なんですが、test_x86とtest_ARMの二つのプロジェクトを立ち上げてて、間違ってtest_ARM版を載せたのではないかと思います。
今後はtest_86版だけを使っていきます。今後気を付けます。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.52 ) |
- 名前:管理人 日時:2018/03/25 22:55
無事ビルドが成功するようになったようでなによりです
というかあまり役に立てていなくてすみません (_ _;
> 釉薬さん
『ソリューションの再ターゲット』というものを初めて知りました
プロジェクトのプロパティの『プラットフォーム ツールセット』の項目を変更するだけの場合とはまた異なるのですね・・・
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.53 ) |
- 名前:釉薬 日時:2018/03/26 07:48
田中さんのビルドが失敗しているときはANT_HOME=とNDK_HOME=の部分が空欄になっているのがずっと
気になっていて、おそらくフォルダの指定ミスだけではないだろうなと思っていました。
で、自分の環境でも、エラーはでないもののコンパイルはNDKのR11、パッケージングはR13が
選択されるのが気になっていて、どっちもR13にする方法がないかと思って
再ターゲットを試したらできたので、これを使えば何か設定が変わるかも、ということでした。
ということで、まずはめでたしですね。もっとも、ここが(長い旅の)スタートですが!
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.54 ) |
- 名前:田中一郎 日時:2018/03/26 15:53
管理人さん
いえいえ、そんな事ありません。
管理人さんがいてくれた事は非常に心強かったです。
本当にありがとうございます。
あと、僕みたいな人も、今後出てくるかもしれないので、プロジェクト→ソリューションの再ターゲットの説明もマニュアルに加えていた方がいいのではないかと思います。
釉薬さん
ありがとうございます。プロジェクト→ソリューションの再ターゲットを行えば、test.NativeActivity をビルドする事が出来ると分かりました。
恐らく釉薬さんが居なかったら、辿り着けなかったかもしれません。本当にありがとうございます。
>ということで、まずはめでたしですね。もっとも、ここが(長い旅の)スタートですが!
本当にその通りだと思います。まだ初期中の初期の段階でスタートしたばかりだと思います。
設定の段階で躓いた時は、別の言語(例えばJava)を試した方がいいのかと思った事もありましたが、やはり書くならC言語で書きたいと思い、諦めないで良かったです。
(最も、核心的な所はほぼ釉薬さんが行ってくれましたが)
エミュレータで四角形を作れてから、ワクワクが止まりません。今はまだゲーム制作に手を付けていないのですが、これからやっていけるのかと思うと、楽しみで仕方がありません。
釉薬さんも、管理人さんもありがとうございました。2人が居なかったら、問題を解決する事はできなかったと思います。
改めて本当にありがとうございます。
一応問題は解決しましたので、このスレッドは(解決)を貼ろうかと思っているのですが、お二人とも何かアドバイスや一言などありますでしょうか。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.55 ) |
- 名前:田中一郎 日時:2018/03/26 16:23
>一応問題は解決しましたので、このスレッドは(解決)を貼ろうかと思っているのですが、お二人とも何かアドバイスや一言などありますでしょうか。
教授されている身で態度が大きかったですね、すみません(^^;。
お二人とも何かありますでしょうか、なければこのまま終わろうかと思うのですが。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.56 ) |
- 名前:管理人 日時:2018/03/26 23:34
このスレッドのタイトルである『androidエミュレータで実行できない』問題は解決したので
(解決)として良いと思います
アドバイスとしては、Android の環境は本件でも分かるようにまだ不安定で、一回の実行にも時間がかかるので
プログラムに慣れるまではビルドから実行までが早い Windows用アプリで開発した方が良いのではないかと思います
( ただ、モチベーションを維持できることの方が重要なので、Windowsアプリの開発ではやる気がおきない場合は
Android での開発で全然良いと思います )
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.57 ) |
- 名前:釉薬 日時:2018/03/27 07:49
某3Dシューティングゲーム(フリーソフト)の作者さんがよく言ってますが
とにかく(超簡単なゲームでよいので)一本完成させること、です。
(オープニング、エンディング、取扱説明書なども含めて一式全部)
※完成に ほど遠い私が言っても説得力が欠けますが…
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.58 ) |
- 名前:田中一郎(解決) 日時:2018/03/27 18:00
管理人さん
Windows版、android版両方試してみようと思います。ただ、今はAndroid版をやりたいので、android版で1回の実行にも時間がかかる事を体験して、ある程度進んでから
Windows版も試してみようと思います。
あと、プロジェクト→ソリューションの再ターゲットの説明もマニュアルに加えた方がいいのではないかと思います。
釉薬さん
オープニングやエンディングまで考えるのはちょっと大変そうですね。でも何年掛かってでもやりたいと思っているので、いずれかは作ろうと思います。
いやー、本当にありがとうございました。
おかげでゲームが作れるようになります。
3月9日から今日(3月27日)までの19日間ありがとうございました。
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.59 ) |
- 名前:管理人(解決) 日時:2018/03/28 00:40
> あと、プロジェクト→ソリューションの再ターゲットの説明もマニュアルに加えた方がいいのではないかと思います。
ご提案ありがとうございます
ただ、現在手元で再現できる環境が無いのと、VisualStudio 2017 は頻繁に更新されているので、もしかしたら
直ぐにでもこの問題が修正される可能性もあるので、もう少し様子をみてからマニュアルに加えるかどうかを決めたいと思います m(_ _)m
> 3月9日から今日(3月27日)までの19日間ありがとうございました。
おぉ、半月以上も経っていたのですね (・・;
文字だけのやり取りで上手く意思疎通できないこともあった中、田中さんも根気強くご返信されて凄いと思います
ゲームの開発頑張ってください (^ ^
|
Re: main.cppがandroidエミュレータで実行出来ない ( No.60 ) |
- 名前:田中一郎(解決) 日時:2018/03/28 19:00
>ただ、現在手元で再現できる環境が無いのと、VisualStudio 2017 は頻繁に更新されているので、もしかしたら
>直ぐにでもこの問題が修正される可能性もあるので、もう少し様子をみてからマニュアルに加えるかどうかを決めたいと思います m(_ _)m
管理人さんに色々あると思うので、その意見を尊重します。ただ、僕と同じような問題で困っている人には僕のスレッドを紹介してあげてください。
>おぉ、半月以上も経っていたのですね (・・;
>文字だけのやり取りで上手く意思疎通できないこともあった中、田中さんも根気強くご返信されて凄いと思います
>ゲームの開発頑張ってください (^ ^
あっという間に経ちましたが、解決出来て良かったです。
とりあえず、ゲームを一本完成させる事を目指して頑張ります。
ありがとうございました。
|