Maison base de données tutoriel mysql 用NDK r9版本编译cocos2d x 2.0.4遇到的各个坑

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

Jun 07, 2016 pm 03:09 PM
版本 编译 rencontrer

下面详细介绍一下用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,这样可以减少困扰。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier rapidement la version numpy Comment vérifier rapidement la version numpy Jan 19, 2024 am 08:23 AM

Numpy est une bibliothèque mathématique importante en Python. Elle fournit des opérations de tableau efficaces et des fonctions de calcul scientifique et est largement utilisée dans l'analyse de données, l'apprentissage automatique, l'apprentissage profond et d'autres domaines. Lors de l'utilisation de numpy, nous devons souvent vérifier le numéro de version de numpy pour déterminer les fonctions prises en charge par l'environnement actuel. Cet article explique comment vérifier rapidement la version numpy et fournit des exemples de code spécifiques. Méthode 1 : utilisez l'attribut __version__ fourni avec numpy Le module numpy est livré avec un __.

Comment vérifier la version de Maven Comment vérifier la version de Maven Jan 17, 2024 pm 05:06 PM

Méthodes pour vérifier la version maven : 1. Utilisez la ligne de commande ; 2. Vérifiez les variables d'environnement 3. Utilisez l'IDE 4. Vérifiez le fichier pom.xml ; Introduction détaillée : 1. Utilisez la ligne de commande, entrez « mvn -v » ou « mvn --version » dans la ligne de commande, puis appuyez sur Entrée. Cela affichera les informations sur la version Maven et les informations sur la version Java. 2. Affichez l'environnement. variables , sur certains systèmes, vous pouvez vérifier les variables d'environnement pour trouver les informations de version de Maven, saisir la commande sur la ligne de commande, puis appuyer sur Entrée, etc.

Tutoriel sur la mise à jour de la version curl sous Linux ! Tutoriel sur la mise à jour de la version curl sous Linux ! Mar 07, 2024 am 08:30 AM

Pour mettre à jour la version curl sous Linux, vous pouvez suivre les étapes ci-dessous : Vérifiez la version actuelle de curl : Tout d'abord, vous devez déterminer la version de curl installée dans le système actuel. Ouvrez un terminal et exécutez la commande suivante : curl --version Cette commande affichera les informations sur la version actuelle de curl. Confirmer la version curl disponible : Avant de mettre à jour curl, vous devez confirmer la dernière version disponible. Vous pouvez visiter le site officiel de curl (curl.haxx.se) ou des sources de logiciels associées pour trouver la dernière version de curl. Téléchargez le code source de curl : à l'aide de curl ou d'un navigateur, téléchargez le fichier de code source pour la version curl de votre choix (généralement .tar.gz ou .tar.bz2).

Comment vérifier facilement la version installée d'Oracle Comment vérifier facilement la version installée d'Oracle Mar 07, 2024 am 11:27 AM

Comment vérifier facilement la version installée d'Oracle nécessite des exemples de code spécifiques. En tant que logiciel largement utilisé dans les systèmes de gestion de bases de données au niveau de l'entreprise, la base de données Oracle possède de nombreuses versions et différentes méthodes d'installation. Dans notre travail quotidien, nous devons souvent vérifier la version installée de la base de données Oracle pour les opérations et la maintenance correspondantes. Cet article explique comment vérifier facilement la version installée d'Oracle et donne des exemples de code spécifiques. Méthode 1 : Grâce à une requête SQL dans la base de données Oracle, nous pouvons

Étapes simples pour mettre à jour la version pip : effectuée en 1 minute Étapes simples pour mettre à jour la version pip : effectuée en 1 minute Jan 27, 2024 am 09:45 AM

Fait en une minute : Comment mettre à jour la version pip, des exemples de code spécifiques sont nécessaires Avec le développement rapide de Python, pip est devenu un outil standard pour la gestion des packages Python. Cependant, au fil du temps, les versions de pip sont constamment mises à jour. Afin de pouvoir utiliser les dernières fonctionnalités et corriger d'éventuelles failles de sécurité, il est très important de mettre à jour la version de pip. Cet article explique comment mettre à jour rapidement pip en une minute et fournit des exemples de code spécifiques. Tout d’abord, nous devons ouvrir une fenêtre de ligne de commande. Dans les systèmes Windows, vous pouvez utiliser

Vérifiez la version du système d'exploitation Kirin et la version du noyau Vérifiez la version du système d'exploitation Kirin et la version du noyau Feb 21, 2024 pm 07:04 PM

Vérification de la version du système d'exploitation Kylin et de la version du noyau Dans le système d'exploitation Kirin, savoir comment vérifier la version du système et la version du noyau est la base de la gestion et de la maintenance du système. Méthode 1 pour vérifier la version du système d'exploitation Kylin : Utilisez le fichier /etc/.kyinfo Pour vérifier la version du système d'exploitation Kylin, vous pouvez vérifier le fichier /etc/.kyinfo. Ce fichier contient des informations sur la version du système d'exploitation. Exécutez la commande suivante : cat/etc/.kyinfo Cette commande affichera des informations détaillées sur la version du système d'exploitation. Méthode 2 : utiliser le fichier /etc/issue Une autre façon de vérifier la version du système d'exploitation consiste à consulter le fichier /etc/issue. Ce fichier fournit également des informations sur la version, mais peut ne pas être aussi bon que le fichier .kyinfo.

750 000 rounds de bataille en tête-à-tête entre grands modèles, GPT-4 a remporté le championnat et Llama 3 s'est classé cinquième 750 000 rounds de bataille en tête-à-tête entre grands modèles, GPT-4 a remporté le championnat et Llama 3 s'est classé cinquième Apr 23, 2024 pm 03:28 PM

Concernant Llama3, de nouveaux résultats de tests ont été publiés - la grande communauté d'évaluation de modèles LMSYS a publié une liste de classement des grands modèles, Llama3 s'est classé cinquième et à égalité pour la première place avec GPT-4 dans la catégorie anglaise. Le tableau est différent des autres benchmarks. Cette liste est basée sur des batailles individuelles entre modèles, et les évaluateurs de tout le réseau font leurs propres propositions et scores. Au final, Llama3 s'est classé cinquième sur la liste, suivi de trois versions différentes de GPT-4 et Claude3 Super Cup Opus. Dans la liste simple anglaise, Llama3 a dépassé Claude et est à égalité avec GPT-4. Concernant ce résultat, LeCun, scientifique en chef de Meta, était très heureux et a transmis le tweet et

Comment savoir si l'interface dp est 1.2 ou 1.4 ? Comment savoir si l'interface dp est 1.2 ou 1.4 ? Feb 06, 2024 am 10:27 AM

L'interface DP est un câble d'interface important dans l'ordinateur. Lors de l'utilisation de l'ordinateur, de nombreux utilisateurs veulent savoir comment vérifier si l'interface DP est 1.2 ou 1.4. En fait, il leur suffit de la vérifier dans GPU-Z. Comment déterminer si l'interface dp est 1.2 ou 1.4 : 1. Tout d'abord, sélectionnez "Avancé" dans GPU-Z. 2. Regardez « Monitor1 » dans « General » sous « Advanced », vous pouvez voir les deux éléments « LinkRate (current) » et « Lanes (current) ». 3. Enfin, si 8,1 Gbps × 4 est affiché, cela signifie la version DP1.3 ou supérieure, généralement DP1.4. S'il s'agit de 5,4 Gbps × 4, alors.

See all articles