【Cocos 2 dxネットワーク通信(Http&Socket)Androidまとめにコンパイルする】curl関連libとヘッダファイルなどの問題をコンパイルする


当駅の文章は全部 李華明ひとみ オリジナル、転載は必ず明確なところに明記してください。
「黒米GameDev街区」から転載しました。 原文のリンク: http://www.himigame.com/hibernate/783.html ☜をクリックして購読します。 このブログの最新の動き!早速最新のブログをお知らせします。
本記事では、Cococos 2 dxにネットワーク通信関連コードを追加し、Androidにコンパイルする際に発生する詳細と注意すべき点をまとめます。余計な話はしないで、直接に本題に入ります。
   1. まずCococos 2 dxでpthreadを使ってコンパイルする時の注意点を紹介します。
NDKが明確に指定していますので、サポートしていません。 pthread_キャンセル() 関数、コンパイルのエラーメッセージは以下の通りです。
ソリューション:
使用 pthread_キルル() またはreturn NULL二つの方法で解決します。
その違いは以下の通りです。
pthread_exit():他のスレッドが通るように戻り値を指定できます。 pthread_ジョン()  関数はスレッドの戻り値を取得します。
リターン: スレッド関数でreturnを使用すると、スレッドが終了します。
ここのHimiはreturnを使って直接return NULLをオススメします。
 
 
  2.コンパイルのヒントが見つからない sockaddr_in  を選択します httonsなどの定義は、エラーメッセージは以下の通りです。
このような問題が発生しました。主に頭のファイルは入っていません。iosでコンパイルする環境は間違っていませんが、コンパイルに問題が発生します。
 ソリューション:
これらの関数を使用するクラスには、次の2つの頭のファイルが追加されます。

#include "netdb.h"
#include "netinet/in.h"
 
3.Curl.hヘッダファイルが見つかりません。注意してください。ここはコンパイルで頭のファイルが見つからない問題があります。もしあなたがxcodeコンパイルで頭のファイルが見つからないなら、次のような博文を参照してください。
【C/S通信インタラクティブHttp編】Cococos 2 dx(Client)CurlとJetty(Server)を使って携帯電話のオンラインゲームのHttp通信フレームを実現します(解決curl.hヘッダファイルが含まれていて問題が見つからない)
まずエラーを観察するログ:
ソリューション:
あなたがcurlを使うクラスでは、curlクラスを導入していますが、あなたはinclude「curl/curl.h」が導入したのでしょう。OK、次のように変更すればいいです。完全な相対パスに指定すればいいです。

"../../libs/cocos2dx/platform/third_party/ios/curl/curl.h"
 
4.エラーメッセージをコンパイルする場合があります。 curlglobal_init、curl_イージー.init、curl_イージー.setoptなどはundefinedを定義していません。この問題は、curl関連のlibバッグが入っていないからです。エラーメッセージは以下の通りです。
    ソリューション:
jniの下のハローワールドの下のmkファイルを修正すると、全体のパスは以下の通りです。
your project//android/jni/hellowworld/Android.mk
mkファイル全体を開けて、下記の内容を見つけます。
次のように修正しました。
実は2つの話を添加しました!でも気をつけて
添付された最初の文の下にある中間の記号をよく見てください。前は「 :=  ”今は「+=」です この問題は何時間もヒミミを悩ませています。
 OKです。基本的にこれらは問題を解決するのに十分です。
次の編からHimiが書き始めます。 macプラットフォームの下のエディタはシリーズの文章を開発します。