ページ 11

Android NDKによるC++11以降の機能の使い方について

Posted: 2021年2月20日(土) 22:27
by spaaaark・∀・
ご無沙汰しております。spaaaark・∀・です。

この度DxLibを用いたゲームについて、Androidアプリへの移植を検討しております。
下記の質問はAndroid Studioを使い始めたばかりの初心者としての質問であることをご了承ください。

WindowsにてVisual Studio 2019で開発したC++コード(C++11以降の機能を含む)を
Android NDKを用いてAndroidプロジェクトへインポートし、Code Inspectorを使用したところ、
STLイテレータをautoで型推論するところで下記のエラーを示しており、
素人目にはC++11以降の機能がうまく働いていないように見えます。

コード:

 for(auto it = vectorVar.begin(); it != vectorVar.end(); ++it) { ... }
Error: Can't compare structures.

なおプロジェクト設定については、DxLibの使い方ページ(下記リンク)を参照させていただいております。
(ただしCMakeLists.txtは、使用するcppファイルすべてを登録するよう書き換えています。)
 https://dxlib.xsrv.jp/use/dxuse_android_studio_4_0.html

このコードをAndroid Studioで使用するための設定を知りたいのですが、
どう検索すべきかもわからず、こちらでお伺いさせていただきます。
皆様の意見を頂けますと幸いです、よろしくお願いいたします。

Re: Android NDKによるC++11以降の機能の使い方について

Posted: 2021年2月21日(日) 08:06
by あたっしゅ
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?
DXライブラリ置き場掲示板(ja)

こちらの DxLib 本家の掲示板で聞いた方がいいと思います。

Re: Android NDKによるC++11以降の機能の使い方について

Posted: 2021年2月21日(日) 23:51
by spaaaark・∀・
すいません、本件自己解決しました。

設定として、下記リンクによりC++バージョンをC++17に指定したところ、
CodeInspectorの表示に関わらずコンパイルが通ることが判明しました。
https://qiita.com/yumetodo/items/bd8f556ab56298f19ba8

おそらく、makeを行う際の設定はgradleには設定できるものの、
CodeInspectorにはその設定が反映されずエラーと表現されたと推定されます。

今回このスレッドはAndroidにてソフトウェアを動かすことが目的であり、
アプリ自体は動作することができたため、ここでトピックを閉じようと思います。