首页 > 其他分享 >mac交叉编译

mac交叉编译

时间:2022-11-24 14:32:11浏览次数:76  
标签:交叉 -- --- 编译 mac local options compiler


​https://github.com/crosstool-ng/crosstool-ng/releases​​ 下载最新版

该分支对编译中出现的一些编译error,进行了修正,并对mulitlib的编译进行了一定程度的修正

编译和安装

cd crosstool-ng
xattr -d com.apple.quarantine ./configure //bad interpreter: Operation not permitted
chmod 777 ./configure

指定安装路径(默认安装在/usr/local下).,和mac下的一些ports工具,如gobjcopy,这些可以通过mac-ports 安装

./bootstrap 
./configure --prefix=${install_path} --with-objcopy=/opt/local/bin/gobjcopy --with-objdump=/opt/local/bin/gobjdump --with-libtool=/opt/local/bin/glibtool --with-readelf=/opt/local/bin/greadelf --with-gbtoolize=/opt/local/bin/glibtoolize
make
make install

使用crosstool-ng编译arm工具链

​ct-ng menuconfig​​​ 由于mac有些限制,有些地方需要特别设定下
具体步骤如下:
make version 3.82在编译glibc时有问题,打开EXPERIMENTAL feature以便使用自带的make
Paths and misc options ---> [*] Try features marked as EXPERIMENTAL

打开debug功能,以便可以进行单个step的编译,而不是每次都重新编译所有的

Paths and misc options  ---> [*] Debug crosstool-NG 
---> Debug crosstool-NG
---> gzip saved states (NEW)
Paths and misc options ---> Maximum log level to see: (INFO)

根据自己的需要定制cpu

Target options  --->   Target Architecture (arm)
Target options ---> (armv6k) Architecture level
Target options ---> (arm1176jzf-s) Tune for CPU
Target options ---> (vfp) Use specific FPU

Operating System ---> Target OS (linux)
Operating System ---> Linux kernel version (2.6.32.60 (longterm))

C compiler ---> C compiler (gcc)
C compiler ---> [*] Show Linaro versions
C compiler ---> gcc version (linaro-4.6-2013.04)
C compiler ---> [*] C++

apple gcc不支持静态链接,关闭静态链接

C compiler  ---> [ ] Link libstdc++ statically into the gcc binary

这里使用glibc 2.13

C-library  --->  C library (glib) 
C-library ---> glibc version (2.13)

使用4.3.2的GMP,5.0+的存在编译问题

Companion libraries  ---> GMP version (4.3.2)

编译自定义的make,

Companion tools  --->  [*] Build some companion tools 
Companion tools ---> [*] make

Esc Esc 保存并退出设定界面

编译工具链

ct-ng build

编译完成后,工具链默认存放在在~/x-tools/下




mac交叉编译_mac


image.png

标签:交叉,--,---,编译,mac,local,options,compiler
From: https://blog.51cto.com/u_15458814/5883911

相关文章

  • MySQL_SQL_预编译
    预编译应该是PrepareStatement(先编译后执行)(mybatis的底层原理)SQL执行器是Statement(编译并执行,完整的sql) Mybatis的#{}与${},#{}:表示预编译(SQL预编译–安全的),${}:表......
  • android studio编译错误 之 Cause: com/android/builder/profile/Recorder$Property
    Cause:com/android/builder/profile/Recorder$Property*解决方法:项目根目录中:com.android.tools.build:gradle:2.2.0'->com.android.tools.build:gradle:2.2.1'*com.and......
  • [原创]借助gradle加快基于安卓开发工具开发ndk/jni编译速度
    我总是为了这个so的东西而苦逼,一直在想能不能再快一点,能不能,经过了几年的长跑,我再也忍受不了了,最近又调整优化了一下,1是因为模块化jni,导致so不会更新,因此我写了一个脚本,2......
  • mycompiler1 大学生利用C++构建一个编译器之词法分析器
    文章目录​​1.定义语言​​​​2.编译器工作流程​​​​2.1.编译器处理的两大过程和分层设计​​​​3.词法分析器的实现​​​​3.1.有限状态机(正则匹配)​​​​3......
  • gcc/g++ 编译器入门(1)
    GCC全称是GNUCompiler Collection 意思是gnu编译器合集也就是说GCC包括了各种语言的编译器比如c编译器c++编译器 java编译器Fortran编译器go编译器等等我们这......
  • macOS 设置睡眠时候屏幕自动关闭 All In One
    macOS设置睡眠时候屏幕自动关闭AllInOne屏幕休眠设置Mac台式电脑定时开关机在Mac上,选取苹果菜单>“系统偏好设置”,点按“节能”,然后点按“定时”。https://s......
  • Java动态编译
    https://www.cnblogs.com/newAndHui/p/14918955.htmlpackageutils;importjavax.tools.*;importjava.io.ByteArrayOutputStream;importjava.io.IOException;impor......
  • scrcpy macos 编译安装最新版 1.2.4
    概况:看官网发布日志,新版加了还少新的特性。尝试了直接用brewinstall,upgrade 等方法,都没有装成。查了一下原因homebrew 目前只提供1.18的版本。要装新的目前只能......
  • qt4 webkit 编译
    qt4webkit编译2021-05-1415:29:44最近编译出了Qt4.7.4的嵌入式版本,但没有编译QtWebkit库。在编译一个使用Webkit的工程时出错,而根据工程的需要,要单独编译QtWebki......
  • openwrt 15.05编译问题
    https://www.izheteng.site/2020/04/03/2020-04-03-Ubuntu18-04%E4%B8%8B%E7%BC%96%E8%AF%91OpenWRT15-05%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E5%92%8C%E8%A7%......