在Mac OS X上安装使用lazarus 1.6.4

     一直觉得delphi的OO做得比C++还完善, 但如今日落西真是让人感到唏嘘,  这并不意味着delphi比C++差, 它的创始人被微软挖墙脚后创造了C#系列开发工具, 设计理念大部分与Delphi相似,但dotnet平台的执行效率非常不好.

       如果在其他平台上也能用delphi开发呢?而且不用钱(Delphi正版极其昂贵)! 你会选择吗?  在OS X上开发应用除了用XCode, 还可以用lazarus, 一个跨平台的免费delphi !

由于国内没有相关的教程乃至官网wiki所详述的解决方法不通用(OS X版本不一样就有差别), 于是花了一天半的时间自己尝试安装并整理了这篇教程.

先描述一下版本:

OS: OS X EI Capitan (10.11.6)

XCode: 8

本文的大纲:

1/安装gdb, 并为其签名

2/安装command-line

3/安装lazarus

不知道10.X开始已经剔除了gdb改用lldb为默认的调试器, 所以需要手动安装,以下为转载内容:

在10.10下亲试的安装gdb和签名gdb以让它正常使用的步骤供参考。

我的步骤是: 
1. 使用Homebrew安装gdb 
2. 使用系统自带的codesign签名gdb 
3. 验证gdb使用

  1. 使用Homebrew安装gdb 
    首先安装Homebrew,参考网址http://brew.sh/ 
    操作步骤是在Terminal中执行 
    ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

    Homebrew安装完成后,在Terminal中执行 brew install gdb 安装gdb,安装后目录可以通过which gdb查看:/usr/local/bin/gdb

  2. 使用系统自带的codesign签名gdb 
    在10.10下,gdb不签名的话是无法访问其他程序的,此时如果gdb 你的程序时,会报如下错误: 
    *Unable to find Mach task port for process-id 83686: (os/kern) failure (0x5). 
    (please check gdb is codesigned - see taskgated(8))* 
    此时需要对gdb进行签名。

    首先:制作一个签名: 
    打开签名软件:Applications/Utilities/Keychain Access.app 在菜单栏选择: 
    Keychain Access > Certificate Assistant > Create Certificate…开始制作: 
    这里写图片描述
    然后一路点继续 在下面的页面选择system 
    这里写图片描述
    完成页面如 
    这里写图片描述
    记得一步:让证书always trust,右键生成的证书gdb-cert,然后get info 
    这里写图片描述

    ok,证书生成了。

    然后:开始签名: 

    先把keychain工具关闭退出(需要这一步),重启 OS X

    签名的命令为(如果是替换已签好的签名,则将-s 替换成 -fs)

    codesign -s gdb-cert /usr/local/bin/gdb

    好了,签名成功,开始gdb了。

  3. 验证gdb使用 
    在生成aaa的程序的makefile中加入-g编译源文件,生成aaa 
    在生成的程序目录下执行:gdb ./aaa,然后就可以使用b p bt等gdb指令了
-----------------------------

安装 command-line:

打开terminal窗口,输入xcode-select --install, 完毕后打开xcode看看参数里面的locations, command-line是否有内容.

安装lazarus:

先下载lazarus & fpc到Downloads文件夹,  https://sourceforge.net/projects/lazarus/files/Lazarus%20Mac%20OS%20X%20i386/Lazarus%201.6.4/

       按指引先安装fpc, 再安装fpcsrc, 再安装lazarus,  这个版本的lazarus dmg映像文件好像是坏的,至少我的os x 10.11不识别, 怎么办??到官网论坛上问, 没人回答 (好冷的样子), 于是自己动手重新做了一个pkg文件(其实也就是zip文件):

     1/ 用ultraiso将这个lazarus的dmg映像文件爆出来, 然后放在新建的lazarus.zip里面(注意目录结构) ,完毕后将其改名为lazarus.pkg, 用7zip打开是这样的

     然后将其放于Download文件夹, 点击运行,一切正常!!

   

配置gdb

   在当前用户的home目录下建立.gdbinit文件, 里面加入

   set startup-with-shell off

lazarus第一次运行, 新建立一个空的project1, 编译, 然后在terminal里面测试一下gdb:

    gdb project1

         在里面输入break main

         再输入run

   如果没有gdb未签名相关的错误, 那证明gdb能正常使用了, 输入quit退出 .

--------------

  但这时候lazarus还是不能正常调试的, gdb还是会不断有错误 (真是日了狗了), 需要 配置lazarus: 

   menu ->tools->options->debugger->Reset debugger after each run 上打上勾, 然后断点调试,逐步跟踪都能正常!

最后来一张完美的运行图:

            

     

<<<全文完>>>

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rocklee/article/details/70350460
 

猜你喜欢

转载自www.cnblogs.com/findumars/p/9360898.html