Articles of gcc

Bambuser ffmpeg – “arm-linux-androideabi-gcc无法创build可执行文件”。

我知道这可能是一些重复的问题。 但这些线程的答案不帮助我。 我想使用Bambuser的ffmpeg编译android的ffmpeg库。 我下载了客户端版本1.3.7到1.6.0的存档。 来自bambuser。 我遵循REAME给出的指示。 当运行./build.sh我遇到以下错误 arm-linux-androideabi-gcc is unable to create an executable file. C compiler test failed. If you think configure made a mistake, make sure you are using the latest version from SVN. If the latest version fails, report the problem to the ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net. Include […]

如何编译Genymotion的C程序(Android x86)

我正在尝试构build一个简单的HelloWorld应用程序,并在Genymotion上运行它。 我的系统是Ubuntu 14.04 64bit。 我安装了Android SDK(r22.6.2)和NDK(r9d)。 第一次尝试:使用预build的NDK ARM工具链进行构build TOOLCHAIN = $NDK/toolchains/arm-linux-androideabi-4.8 $TOOLCHAIN/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc –sysroot=$PLATFORM hello.c -o hello adb push hello /sdcard/ ./hello 我得到一个错误 /system/bin/sh: ./Hello: not executable: magic 7F45 经过一番研究,我很快意识到Genymotion有x86 arch而不是ARM 第二次尝试:使用x86 Standalone ToolChain进行构build 首先制作x86独立工具链 cd $NDK/build/tools ./make-standalone-toolchain.sh –arch=x86 –platform=android-19 –install-dir=/tmp/android-toolchain –ndk-dir=../../. –system=linux-x86_64 使用工具链build立你好 cd tmp/android-toolchain/bin ./i686-linux-android-gcc -o Hello -c hello.c 在Genymotion上运行Hello adb push hello /data/local/tmp […]

将gcc命令转换为CMake for android ndk

我需要添加可以用gcc编译的ac工程如下 gcc -I/usr/include/epic5.1 -I/usr/include/i386-linux-gnu/epic5.1 -I./smproject/ -o code code.c ./smproject/smlib.so -lepic5.1 我已经将code.c文件内容移动到我的Android NDK .cpp文件(src / main / cpp / native-lib.cpp),并将smproject目录中的所有文件移动到src/main/cpp/smproject/目录 这是我的CMakeList.txt内容 # For more information about using CMake with Android Studio, read the # documentation: https://d.android.com/studio/projects/add-native-code.html # Sets the minimum version of CMake required to build the native library. cmake_minimum_required(VERSION 3.4.1) # Creates and names a […]

用clang而不是gcc构buildandroid? 和铛stl lib而不是gnustl lib?

我试图build立一个Android ndk应用程序使用铿锵而不是海湾合作委员会,知道我已经尝试在Android.mk NDK_TOOLCHAIN_VERSION := clang LOCAL_CLANG :=true LOCAL_LDLIBS := -lc++_static LOCAL_CFLAGS := -std=c++11 并在Application.mk中 APP_PLATFORM := android-9 APP_STL := libc++_static APP_CPPFLAGS := -fexceptions -frtti APP_ABI := armeabi-v7a 但它总是给我链接错误与std库。 任何帮助表示赞赏!

为什么gcc emmiting代码与ARM指令集的2字节边界alignment?

我正在使用GCC(包含在Android NDK中的版本)检查我正在为ARM Android平台编译的C程序的汇编语言输出。 我指定了长度为4个字节的ARM指令集,而不是THUMB,但令人惊讶的是,emmited汇编语言代码将函数alignment到2个字节的边界! 下面是生成的代码显示错误.align指令的示例: .Ltext0: .global __aeabi_dmul .global __aeabi_d2iz .section .text.InitializeFIRFilter,"ax",%progbits .align 2 .global InitializeFIRFilter .type InitializeFIRFilter, %function InitializeFIRFilter: .fnstart 根据这个文件 ,正确的alignment应该是4这是有道理的。 我试图通过使用-falign-functions = 4强制alignment,但它被忽略。 这里是我在Android.mk文件中指定的构build标志 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_ARM_MODE := arm LOCAL_MODULE := nativeJadeMobile LOCAL_SRC_FILES := nativeJadeMobile.c fftasm.s LOCAL_LDLIBS := -llog LOCAL_CFLAGS += -marm -ffast-math -O2 -march=armv6 -falign-functions=4 -save-temps -S […]

gcc ON arm / android

我刚刚拿到一个EEE垫变压器。 就像我自己的任何硬件,我想有一个C编译器。 我知道我可以交叉编译,但是我想在设备本身上进行开发。 我search谷歌和所有我似乎可以find如何build立一个x86 / 64 Linux的ARM工具链的页面。 思考?

如何编译Android的GCC?

有没有什么办法可以为Android编译GCC? 基本上,有一个Androidterminal仿真器可以访问GCC编译器,并能够编译一个二进制文件,它将从C或C ++源文件在Android上运行。 我的意图是使用这个,并最终安装make。

Android NDK使用哪个编译器?

我正在为Android应用程序编写基于ARM NEON的代码,而且我正在努力解决某些编译器标记不被识别的问题。 后来我意识到对这些标志的支持只是最近才join的,而且我的GCC版本比较老。 我正在做Windows上的所有事情,并受到Cygwin提供的版本的限制。 这里是我的问题:在我开始尝试在Windows机器上构buildGCC 4.6.0并使Cygwin喜欢它,它会对我工作还是NDK使用它自己的GCC版本,我的升级完全不会影响它? 如果是这样,是否有可能告诉它使用不同的编译器?

Android NDK的最新C ++ 11function

我正在尝试使用Android NDK的C ++ 11线程工具,但不知道如何使它使用最新的编译器。 我有Clang 3.2,可以构buildiOS应用程序。 我不知道有没有办法与Android NDK做到这一点? 如果没有,那么我应该如何使用gcc 4.8来编译?

如何链接与静态增强库的Android?

我有问题,并使用Android-ndk-r5b将增强库链接到Android。 首先使用以下步骤构buildboost库(不使用mpi,python): 在boost_1_46_0 \ libs \ thread \ build中注释第53行: #if [os.name] =“NT”{api = win32; } 2.在boost根目录下创build文件user-config.jam androidNDKRoot = ../android-ndk-r5b; 使用gcc:android4.4.3:$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-g ++。exe: –sysroot = $(androidNDKRoot)/平台/机器人-3 /拱形臂 -mthumb -os -fno严格混叠 -02 -DNDEBUG -G -fexceptions -frtti -lstdc ++ -I $(androidNDKRoot)/源/ CXX-STL / GNU-的libstdc ++ /包括 -I $(androidNDKRoot)/源/ CXX-STL / GNU-的libstdc ++ /库/ armeabi /包括 -D__GLIBC__ -DBOOST_NO_INTRINSIC_WCHAR_T $(androidNDKRoot)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-ar.exe $(androidNDKRoot)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-ranlib.exe […]