彻底解决lazarus安装组件后烦人的编译时单元找不到的问题!

来源:互联网 发布:赤兔软件 编辑:程序博客网 时间:2024/05/20 02:52

      以安装indy为例

     1/下载组件包, http://www.indyproject.org/Sockets/fpc/indy-10.2.0.3.zip

     2/爆开放于C:\lazarus\components\indy-10.2.0.3

     3/打开C:\lazarus\components\indy-10.2.0.3\lazarus\indylaz.lpk安装包文件, 点击package里面的options选项 ->Compiler Options 在Other unit files项填上..\fpc , 因为indy的源码除了lazarus,还有同级目录的fpc. OK确认后,再compile这个组件, 一路通过 . 

    4/安装,  如果直接点Use->install, 就会出错, 又说xxx找不到(烦到家了), 原因是lazarus的编译器是外部的fpc, lazarus ide里面设置的路径于fpc是不同步的, 必须要为fpc指定全局的搜索路径!

打开C:\lazarus\fpc\3.0.2\bin\x86_64-win64\fpc.cfg , 在里面加上一行再保存此cfg文件:

       -FuC:\lazarus\components\indy-10.2.0.3\lazarus\lib\$fpctarget

       也就是将indy编译好的库加入到fpc的搜索路径里面.

       然后还要做一个很重要的步骤,就是将此组件的options->Package options->IDE Integration页里面的Update/Rebuild选项设为Manual compilation 手动编译, 不然就会出错!!

       再install 这个组件 , 一路通过 .

    

  完毕后,  开一个空的project, new form , 然后扔一个idtcpserver组件, 保存于c:\temp下, 再compile, 然后翻出c:\temp\lib\x86_64-win64, 编译器只编译project相关的几个ppu, 而它引用的组件不再重新编译, 速度快得多了.


       相同的方法, 于centos/OS X下亦生效.


0 0