Rumah pangkalan data tutorial mysql 用NDK r9版本编译cocos2d x 2.0.4遇到的各个坑

用NDK r9版本编译cocos2d x 2.0.4遇到的各个坑

Jun 07, 2016 pm 03:09 PM
Versi menyusun berjumpa

下面详细介绍一下用NDK r9版本编译cocos2d x 2.0.4可能会遇到的各个坑吧。 错误提示1: Android NDK: WARNING:E:\cocos2d-x\cocos2d-2.0-x-2.0.4/cocos2dx/Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries Gdbserver : [a

下面详细介绍一下用NDK r9版本编译cocos2d x 2.0.4可能会遇到的各个坑吧。

错误提示1:

Android NDK: WARNING:E:\cocos2d-x\cocos2d-2.0-x-2.0.4/cocos2dx/Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries   
Gdbserver      : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
"Compile++ thumb : cocosdenshion_static E:\cocos2d-x\cocos2d-2.0-x-2.0.4/CocosDenshion/android/SimpleAudioEngine.cpp: In constructor 'CocosDenshion::SimpleAudioEngine::SimpleAudioEngine()':
E:\cocos2d-x\cocos2d-2.0-x-2.0.4/CocosDenshion/android/SimpleAudioEngine.cpp:159:2: error: format not a string literal and no format arguments [-Werror=format-security]
cc1plus.exe: some warnings being treated as errors

make: *** [obj/local/armeabi/objs-debug/cocosdenshion_static/SimpleAudioEngine.o] Error 1

解决方法:把SimpleAudioEngine.cpp第159行注释掉

在文件夹CocosDenshion/android中找到SimpleAudioEngine.cpp文件,定位到第159行,将其注释掉如下:

//LOGD(deviceModel);

再次用Cygwin Terminal软件运行build_native.sh,又出现新的提示错误。 

错误提示2:

E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/OpenSLEngine.cpp:292:45: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/OpenSLEngine.cpp:292:45: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/OpenSLEngine.cpp: In member function 'void OpenSLEngine::create               Engine(void*)':
E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/OpenSLEngine.cpp:324:3: error: format not a string literal and                no format arguments [-Werror=format-security]
cc1plus.exe: some warnings being treated as errors

/cygdrive/e/android-ndk-r9c/build/core/build-binary.mk:388: recipe for target 'obj/local/armeabi/objs-debug/cocosdenshion_static/opensl/OpenSLEngine.o' failed
make: *** [obj/local/armeabi/objs-debug/cocosdenshion_static/opensl/OpenSLEngine.o] Error 1
make: Leaving directory '/cygdrive/e/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android'

错误提示解读:warning我们就不管了,先只看error,OpenSLEngine.cpp文件324行error。

解决方法:把cocos2d-2.0-x-2.0.4\CocosDenshion\android\opensl文件夹下的OpenSLEngine.cpp文件

324行注释掉 /*LOGD(errorInfo);*/

再次运行build_native.sh,又提示错误。

错误提示3:

E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/OpenSLEngine.cpp:292:45: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/OpenSLEngine.cpp:292:45: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
[armeabi] Compile++ thumb: cocosdenshion_static E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/SimpleAudioEngineOpenSL.cpp: In member function 'bool SimpleAudioEngineOpenSL::initEngine()':
E:/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android/../../CocosDenshion/android/opensl/SimpleAudioEngineOpenSL.cpp:41:5: error: format not a string literal and no format arguments [-Werror=format-security]
cc1plus.exe: some warnings being treated as errors

/cygdrive/e/android-ndk-r9c/build/core/build-binary.mk:388: recipe for target 'obj/local/armeabi/objs-debug/cocosdens                hion_static/opensl/SimpleAudioEngineOpenSL.o' failed
make: *** [obj/local/armeabi/objs-debug/cocosdenshion_static/opensl/SimpleAudioEngineOpenSL.o] Error 1
make: Leaving directory '/cygdrive/e/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android'

这次轮到SimpleAudioEngineOpenSL.cpp文件第41行。

解决方法:把cocos2d-2.0-x-2.0.4\CocosDenshion\android\opensl文件夹下的SimpleAudioEngineOpenSL.cpp文件第41行注释掉:

/* LOGD(errorInfo);*/

再次运行build_native.sh。又提示错误,warning我们就不管了,先只看error。

错误提示4:

/cygdrive/e/android-ndk-r9c/build/core/build-binary.mk:388: recipe for target 'obj/local/armeabi/objs-debug/cocos2d x_static/platform/android/CCCommon.o' failed
make: *** [obj/local/armeabi/objs-debug/cocos2dx_static/platform/android/CCCommon.o] Error 1
make: Leaving directory '/cygdrive/e/cocos2d-2.0-x-2.0.4/cocos2d-2.0-x-2.0.4/testa/proj.android'

解决方法:这次我们在Application.mk文件后面添加下面代码:

APP_CPPFLAGS += -Wno-error=format-security
再次运行build_native.sh,然后一切就顺利了!我把so文件(libgame.so)在eclipse里面导入android项目,并编译成apk文件,测试成功。

用NDK r9版本编译cocos2d x 2.0.4遇到的各个坑

至此,NDK r9版本就可以用build_native.sh编译成so文件(libgame.so),

已经在真机上测试cocos2d x的hello World成功。

 

如果再有其他报错应该不是NDK r9本身的原因,建议考虑NDK_ROOT是否设置,或者权限的问题,

或者是项目的代码问题(有一些VC++允许通过的,这里会有细微的差异)。

如果第一次尝试做交叉编译的同学,建议不要用自己写的Classes代码编译,

可以考虑用官方的HelloWorld,这样可以减少困扰。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyemak versi numpy dengan cepat Bagaimana untuk menyemak versi numpy dengan cepat Jan 19, 2024 am 08:23 AM

Numpy ialah perpustakaan matematik penting dalam Python Ia menyediakan operasi tatasusunan yang cekap dan fungsi pengiraan saintifik dan digunakan secara meluas dalam analisis data, pembelajaran mesin, pembelajaran mendalam dan bidang lain. Apabila menggunakan numpy, kita selalunya perlu menyemak nombor versi numpy untuk menentukan fungsi yang disokong oleh persekitaran semasa. Artikel ini akan memperkenalkan cara menyemak versi numpy dengan cepat dan memberikan contoh kod khusus. Kaedah 1: Gunakan atribut __version__ yang disertakan dengan numpy Modul numpy disertakan dengan __.

Bagaimana untuk menyemak versi maven Bagaimana untuk menyemak versi maven Jan 17, 2024 pm 05:06 PM

Kaedah untuk menyemak versi maven: 1. Gunakan baris arahan 2. Semak pembolehubah persekitaran 3. Gunakan IDE 4. Semak fail pom.xml. Pengenalan terperinci: 1. Gunakan baris arahan, masukkan "mvn -v" atau "mvn --version" dalam baris arahan, dan kemudian tekan Enter Ini akan memaparkan maklumat versi Maven dan maklumat versi Java; variables , pada sesetengah sistem, anda boleh menyemak pembolehubah persekitaran untuk mencari maklumat versi Maven, masukkan arahan pada baris arahan, dan kemudian tekan Enter, dsb.

Tutorial mengemas kini versi curl di bawah Linux! Tutorial mengemas kini versi curl di bawah Linux! Mar 07, 2024 am 08:30 AM

Untuk mengemas kini versi curl di bawah Linux, anda boleh mengikuti langkah di bawah: Semak versi curl semasa: Pertama, anda perlu menentukan versi curl yang dipasang dalam sistem semasa. Buka terminal dan laksanakan arahan berikut: curl --version Perintah ini akan memaparkan maklumat versi curl semasa. Sahkan versi curl tersedia: Sebelum mengemas kini curl, anda perlu mengesahkan versi terkini yang tersedia. Anda boleh melawati tapak web rasmi curl (curl.haxx.se) atau sumber perisian yang berkaitan untuk mencari versi terkini curl. Muat turun kod sumber curl: Menggunakan curl atau penyemak imbas, muat turun fail kod sumber untuk versi curl pilihan anda (biasanya .tar.gz atau .tar.bz2

Cara menyemak versi Oracle yang dipasang dengan mudah Cara menyemak versi Oracle yang dipasang dengan mudah Mar 07, 2024 am 11:27 AM

Cara menyemak versi Oracle yang dipasang dengan mudah memerlukan contoh kod khusus Sebagai perisian yang digunakan secara meluas dalam sistem pengurusan pangkalan data peringkat perusahaan, pangkalan data Oracle mempunyai banyak versi dan kaedah pemasangan yang berbeza. Dalam kerja harian kami, kami sering perlu menyemak versi pangkalan data Oracle yang dipasang untuk operasi dan penyelenggaraan yang sepadan. Artikel ini akan memperkenalkan cara menyemak versi Oracle yang dipasang dengan mudah dan memberikan contoh kod tertentu. Kaedah 1: Melalui pertanyaan SQL dalam pangkalan data Oracle, kita boleh

Semak versi sistem pengendalian Kirin dan versi kernel Semak versi sistem pengendalian Kirin dan versi kernel Feb 21, 2024 pm 07:04 PM

Menyemak versi sistem pengendalian Kylin dan versi kernel Dalam sistem pengendalian Kirin, mengetahui cara menyemak versi sistem dan versi kernel adalah asas untuk pengurusan dan penyelenggaraan sistem. Kaedah 1 untuk menyemak versi sistem pengendalian Kylin: Gunakan fail /etc/.kyinfo Untuk menyemak versi sistem pengendalian Kylin, anda boleh menyemak fail /etc/.kyinfo. Fail ini mengandungi maklumat versi sistem pengendalian. Jalankan arahan berikut: cat/etc/.kyinfo Perintah ini akan memaparkan maklumat versi terperinci sistem pengendalian. Kaedah 2: Gunakan fail /etc/issue Cara lain untuk menyemak versi sistem pengendalian adalah dengan melihat fail /etc/issue. Fail ini juga menyediakan maklumat versi, tetapi mungkin tidak sebaik fail .kyinfo

Langkah mudah untuk mengemas kini versi pip: selesai dalam 1 minit Langkah mudah untuk mengemas kini versi pip: selesai dalam 1 minit Jan 27, 2024 am 09:45 AM

Selesai dalam satu minit: Cara mengemas kini versi pip, contoh kod khusus diperlukan Dengan perkembangan pesat Python, pip telah menjadi alat standard untuk pengurusan pakej Python. Walau bagaimanapun, seiring dengan berlalunya masa, versi pip sentiasa dikemas kini Untuk dapat menggunakan ciri terkini dan memperbaiki kemungkinan kelemahan keselamatan, adalah sangat penting untuk mengemas kini versi pip. Artikel ini akan menerangkan cara mengemas kini pip dengan cepat dalam satu minit dan memberikan contoh kod khusus. Pertama, kita perlu membuka tetingkap baris arahan. Dalam sistem Windows, anda boleh menggunakan

750,000 pusingan pertempuran satu lawan satu antara model besar, GPT-4 memenangi kejuaraan, dan Llama 3 menduduki tempat kelima 750,000 pusingan pertempuran satu lawan satu antara model besar, GPT-4 memenangi kejuaraan, dan Llama 3 menduduki tempat kelima Apr 23, 2024 pm 03:28 PM

Mengenai Llama3, keputusan ujian baharu telah dikeluarkan - komuniti penilaian model besar LMSYS mengeluarkan senarai kedudukan model besar Llama3 menduduki tempat kelima, dan terikat untuk tempat pertama dengan GPT-4 dalam kategori Bahasa Inggeris. Gambar ini berbeza daripada Penanda Aras yang lain Senarai ini berdasarkan pertempuran satu lawan satu antara model, dan penilai dari seluruh rangkaian membuat cadangan dan skor mereka sendiri. Pada akhirnya, Llama3 menduduki tempat kelima dalam senarai, diikuti oleh tiga versi GPT-4 dan Claude3 Super Cup Opus yang berbeza. Dalam senarai tunggal Inggeris, Llama3 mengatasi Claude dan terikat dengan GPT-4. Mengenai keputusan ini, ketua saintis Meta LeCun sangat gembira, tweet semula dan

Bagaimana untuk mengetahui sama ada antara muka dp ialah 1.2 atau 1.4? Bagaimana untuk mengetahui sama ada antara muka dp ialah 1.2 atau 1.4? Feb 06, 2024 am 10:27 AM

Antara muka DP adalah kabel antara muka yang penting dalam komputer Apabila menggunakan komputer, ramai pengguna ingin mengetahui sama ada antara muka DP adalah 1.2 atau 1.4, mereka hanya perlu menyemaknya dalam GPU-Z. Cara menentukan sama ada antara muka dp ialah 1.2 atau 1.4: 1. Mula-mula, pilih "Lanjutan" dalam GPU-Z. 2. Lihat "Monitor1" dalam "General" di bawah "Advanced", anda boleh melihat dua item "LinkRate (semasa)" dan "Lanes (semasa)". 3. Akhir sekali, jika 8.1Gbps×4 dipaparkan, ia bermakna versi DP1.3 atau lebih tinggi, biasanya DP1.4 Jika 5.4Gbps×4, maka

See all articles