当前位置: 首页 > news >正文

深圳实力网站建设/企业如何做好网络营销

深圳实力网站建设,企业如何做好网络营销,兰州做网站或小程序,wordpress 自定义评论之前直接提取ndk目录的g,gcc发现出现勒很多很多问题, 也翻阅勒太多太多文章,终究是没找到解决方法,今天无意中发现一篇文章.https://my.oschina.net/gotax/blog/516861虽然文章是4.8的演示,到了6.9有所变化,但是生成独立编译链的方式应该是没错了./Users/aaa/Library/Android/s…

之前直接提取ndk目录的g++,gcc发现出现勒很多很多问题, 也翻阅勒太多太多文章,终究是没找到解决方法,

今天无意中发现一篇文章.

https://my.oschina.net/gotax/blog/516861

虽然文章是4.8的演示,到了6.9有所变化,但是生成独立编译链的方式应该是没错了.

/Users/aaa/Library/Android/sdk/ndk-bundle/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.9 --install-dir=~/Documents/dev/ndk_toolchain --force

#set(CMAKE_C_COMPILER gcc)

#指定需要CMAKE的最小版本

cmake_minimum_required(VERSION 3.4.1)

set(CMAKE_C_VISIBILITY_PRESET hidden)

#set (CMAKE_C_COMPILER /Users/aaa/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64)

#add_library(qssq666x SHARED main.c )

add_executable(qssq666x main.c)

cmake_minimum_required(VERSION 3.3)

project(demo)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")

# Android 5.0 以上需要在此处设置 PIE

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie")

# 配置使用 NDK Standalone Toolchain 编译

set(NDK_STANDALONE_TOOLCHAIN /Users/aaa/Documents/dev/ndk_toolchain)

set(CMAKE_SYSTEM_NAME AndroidARM)

set(CMAKE_SYSTEM_VERSION 3)

set(CMAKE_C_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/arm-linux-androideabi-gcc)

set(CMAKE_CXX_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/arm-linux-androideabi-g++)

set(CMAKE_FIND_ROOT_PATH ${NDK_STANDALONE_TOOLCHAIN})

# 使用 NDK 提供的头文件

add_definitions("--sysroot=${NDK_STANDALONE_TOOLCHAIN}/sysroot")

aux_source_directory(src SOURCE_FILES)

add_executable(hello main.c)

# /Users/aaa/Library/Android/sdk/ndk-bundle/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.9 --install-dir=~/Documents/dev/ndk_toolchain --force

image.png

设置界面

image.png

image.png

配置成功就有下图 可以运行,如果配置错误是看不到自己创建的cmake选项的.

编译成功就会有如下提示, 设置编译的目录可以自由设置,生存的文件是没有后缀名的.

image.png

./arm-linux-androideabi-gcc test.c -o hello

上面这个可以在4.4的夜神模拟器运行,但是5.0以上就是

error: only position independent executables (PIE) are supported.

错误

解决5.0以上Illegal Instruction

SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

解决5.0一下magic 7F45 yeshen

删除-pie但是删除之后 5.0以上就出错勒,mmp,我彻底崩溃勒,各位知道解决方法的求指点.

独立生成工具链的的几种方式

///Users/aaa/Library/Android/sdk/ndk-bundle/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.9 --abis=armeabi-v7a --install-dir=~/Documents/dev/ndk_toolchain --platform=android-2

///Users/aaa/Library/Android/sdk/ndk-bundle/build/tools/make-standalone-toolchain.sh --abis=armeabi-v7a --install-dir=~/Documents/dev/ndk_toolchain --platform=android-21 --force

clion设置中可以设置make,cmake,g++ gcc, 调试器,也可以通过cmaketxt设置,

如果在cmake里面设置了-pie后果就是导致直接电脑测试模式也出现错误..

关于语法提示

根据本文章设置就可以解决.

目前依然没解决交叉编译问题,目前没解决的问题就是安卓系统全平台兼容.的so如何生成.

这种方式在5.0以上无法运行.

最简单的方式

/*

D:\env\android_sdk\ndk-bundle\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin>D:\en

v\android_sdk\ndk-bundle\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-

androideabi-gcc.exe --sysroot E:\cross-c\ndk_toolchain\sysroot hello.c -o hello

D:\env\android_sdk\ndk-bundle\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin>

adb shell "/data/local/tmp/hello"

/system/bin/sh: /data/local/tmp/hello: can't execute: Permission denied

adb shell "chmod 777 /data/local/tmp/hello"

adb shell "/data/local/tmp/hello"

"/data/local/tmp/hello": error: only position independent executables (PIE) are supported.

arm-linux-androideabi-gcc.exe --help

*/

position independent executables (PIE) are supported.

image.png

arm-linux-androideabi-gcc.exe -pie --sysroot E:\cross-c\ndk_toolchain\sysroot hello.c -o hello

image.png

最终没有搞定的就是非命令行 也就window的cmake 集合nija编译,蛋疼了 估计要把cmake.xxxx.file整个改掉,

image.png

不自定义 cmake路径就无法执行,设置之后就导致这个问题。

cmake_minimum_required(VERSION 3.6)

#file(GLOB native_srcs "${CMAKE_SOURCE_DIR}/src/*.cpp")

include_directories(${CMAKE_SOURCE_DIR}/include)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")

# Android 5.0 以上需要在此处设置 PIE

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie")

set(NDK_STANDALONE_TOOLCHAIN E:/cross-c/ndk_toolchain)

set(CMAKE_SYSTEM_NAME AndroidARM)

set(CMAKE_SYSTEM_VERSION 3)

#set(CMAKE_C_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/arm-linux-androideabi-gcc)

#set(CMAKE_CXX_COMPILER ${NDK_STANDALONE_TOOLCHAIN}/bin/arm-linux-androideabi-g++)

set(CMAKE_FIND_ROOT_PATH ${NDK_STANDALONE_TOOLCHAIN})

add_definitions("--sysroot=${NDK_STANDALONE_TOOLCHAIN}/sysroot")

include_directories(${CMAKE_SOURCE_DIR}/include)

aux_source_directory(src SOURCE_FILES)

message("dir:${SOURCE_FILES}")

#STATIC表示编译结果为静态库.a,如果想为动态库.so,可改为SHARED

#add_library(Add STATIC ${native_srcs}) # 如果同时添加 same name already exists. The existing target is a static library created

add_executable(Add ${SOURCE_FILES})

牛逼的朋友求解决,我是不懂怎么搞了。

更多参考

http://www.lbrq.cn/news/1447417.html

相关文章:

  • 佛山网站建设怎样做/icp备案查询
  • 台州哪里做网站/小黄豆crm
  • 南京市招办南京网站设计/深圳seo公司
  • 做一个网站做少多少钱/企业培训考试app
  • 下载app 的网站 如何做/百度网盘网页版入口官网
  • 外贸网站优化建设/百度权重1
  • 网站服务器供应商/今日头条网页版入口
  • 智能网站优化 cms 加盟/百度推广注册
  • 做爰网站美女图片/千锋教育学费多少
  • 网站建设广州哪家好/网站域名备案信息查询
  • 深圳品牌网站建设/各大网站
  • 江苏建设工程标准网站/网络营销的现状和发展趋势
  • 珠海网站建设乐云seo在线制作/百度关键词收录
  • 网站建设公司宝安/湖南百度推广
  • 哪些网站是用java做的/百度推广深圳分公司
  • 电影vip免费网站怎么做的/如何在百度上发表文章
  • 做网站为什么能挣钱/公司域名查询官网
  • 景区网站建设/青岛网络seo公司
  • 爱前端wordpress5.0.3主题/专门培训seo的网站
  • 荥阳郑州网站建设/北京搜索引擎优化seo
  • 东莞长安营销型网站建设/磁力搜索神器
  • 荔湾区做网站公司/上首页seo
  • 网站风格一般具有哪三大特征/浏览器大全
  • 400网站建设推广/深圳网络公司推广平台
  • 做网站设计的/网络宣传渠道有哪些
  • 网站侵权怎么做公证或证据保存/常用于网站推广的营销手段是
  • 网站html模板/宁波网络营销公司
  • 如何做html网站/2345网址导航电脑版官网
  • 做环保的网站有哪些/个人网站制作流程
  • 建设公众号官方网站/seo标题生成器
  • 柠檬笔试——野猪骑士
  • 《在 Spring Boot 中安全使用 Qwen API-KEY:环境变量替代明文配置的最佳实践》
  • 初识排序(下)-- 讲解超详细
  • 电脑IP地址是“169.254.x.x”而无法上网的原因
  • hyper-v虚拟机启动失败:Virtual Pci Express Port无法打开电源,因为发生错误,找不到即插即用设备
  • SQL Server 2019搭建AlwaysOn高可用集群