Lazarus开发环境编译选项配置
Lazarus的环境配置让人有点犯晕,对于刚从delphi转到lazarus上的我来说,每次新建工程都会遇到一堆Can't find unit xxxx used by xxxx的问题,问题虽然不大,但确实让人郁闷,明明路径都设置了,怎么就找不到单元呢?
首先介绍一下Lazarus的搜索编译单元方面和delphi的区别
1.Lazarus只是Free Pascal(FPC)的外壳,实际上所有编译的工作都是由FPC完成的,本文讲述的配置方法其实是针对FPC的。
2.Lazarus虽然提供了大量的单元,但绝大部分都没加入搜索路径,需要自己手工加入到搜索路径里,这点和delphi不一样。Lazarus默认的搜索文件路径是在一个配置文件里
<lazarus_home>\fpc\2.2.2\bin\<$FPCTARGET>\fpc.cfg
在fpc.cfg文件里声明了Lazarus默认的搜索路径,可以看到,默认搜索路径很少,这就是为什么总是出现找不到单元的原因了。
3..inc文件的检索方式也和delphi中不一样,并不是把.inc文件放到单元文件的搜索路径里,lazarus就能找到.inc文件了。
4.Lazarus IDE可以找到的单元,编译器未必能找到,这点和delphi区别很大,delphi中ide和编译器使用的搜索路径是相同的。
ok,明白了这点,就可以开始配置的详细介绍了
打开工程编译选项->路径
分别介绍如下:
补充单元文件(-Fu)
这个是针对单元文件的搜索路径,如果你写了一些单元,或者用到了LCL的单元,一定要把路径加入到这里,否则Lazarus会提示找不到xxx单元,详情参考《Lazarus上Can't find unit 问题的解决办法》
包含文件(-Fi)
这个是指名.inc文件的路径,如果Lazarus提示xxx.inc没找到,一定要把.inc文件路径加入到这里。
其余源代码文件(.pp/.pas文件)
貌似没什么用,一般也不需要设置,而且如果你把FPC和Lazarus源码路径加到这里,编译时会在搜索路径下也会产生一个.ppu文件,这样会莫名其妙的出现找不到单元文件的错误。所以最好的办法就是对它不做任何设置。
Libraries(-Fl)
这个路径是用来放一些当前工程中用到的动态库文件路径的,一般的习惯是把动态库放到执行文件输出目录下,所以一般情况下不用管它。
单元输出目录(-FU)
编译单元(.ppu)输出路径
添加调试器路径(无)
一般情况下不需要设置。
再举个例子来说明刚才的配置,假设有一个工程,工程目录结构如下:
~/source/lazarus/projects/demo1/ {工程目录}
~/source/lazarus/projects/demo1/src/ {源码目录}
~/source/lazarus/projects/demo1/bin/ {执行文件输出目录}
~/source/lazarus/projects/demo1/ppu/ {编译单元输出目录}
~/source/lazarus/projects/demo1/lib/demo-lib.so {用到的动态库}
那么配置如下
补充单元文件(-Fu):~/source/lazarus/projects/demo1/src/;${LazarusDir}/lcl/
包含文件(-Fi):${LazarusDir}/lcl/include/
其余源代码文件(.pp/.pas):
Libraries(-Fl):~/source/lazarus/projects/demo1/lib;
单元输出目录(-FU):ppu
添加调试器路径(无):
配置好之后,你可以把配置信息保存成一个文件,之后通过编译工程选项->路径里面的"装载/保存"按钮来加载,这样其余项目也可以用到这些配置路径了,这点对于多个工程的开发会比较方便。
原文:http://jim19770812.blogspot.com/2009/02/lazarus_09.html
非常感谢 jim19770812.im@gmail.com ,否则 inc 文件在lazarus 里面怎么搜索一直就没有搞清楚啊。
Lazarus开发环境编译选项配置的更多相关文章
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...
- Windows平台下PHP开发环境的配置
Windows平台下PHP开发环境的配置 一.基本环境 1.Windows XP 32位 2.Apache 2.2.25,下载地址:http://mirror.bit.edu.cn/apache/ht ...
- 信息安全系统设计基础实验一:Linux开发环境的配置和使用
北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础 班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩: 指导教师:娄家鹏 ...
- Web开发中运行环境的配置:(Tomcat7.0.59)和开发环境的配置
第一部分:运行环境的配置 1.下载压缩包,解压即可 2.配置系统变量JAVA_HOME为jdk的安装路径 3.如有需要修改端口号,比如8080已被占用的时候,可以将其改为9080等 apache-to ...
- 在CodeBlocks 开发环境中配置使用OpenCV (ubuntu系统)
CodeBlocks是一个开放源代码的全功能的跨平台C/C++集成开发环境.CodeBlocks由纯粹的C++语言开发完毕,它使用了蓍名的图形界面库wxWidgets.对于追求完美的C++程序猿,再也 ...
- Windows7 x64 跨平台开发环境安装配置
======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...
- Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题
前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置 1.Tomcat的下载 地址:https://tomcat.apach ...
- 一个电脑的重装到java开发环境安装配置的全过程
刚拿到一台别人用过的电脑.看着c盘爆满,而且用了还是windows7操作系统,强迫症发作马上就准备重装系统. 之前换固态使用wepe制作U盘启动盘装系统的步骤和过程全部忘记的,贼尴尬. 同事都看不过眼 ...
随机推荐
- Maven学习总结(3)——使用Maven构建项目
Maven学习总结(三)--使用Maven构建项目 maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的过程. 一.构建Jave项目 1.1.创建J ...
- sencha touch 2制作滑动DataView(无缝list)
Ext.define('App.view.Sections', { extend: 'Ext.dataview.DataView', xtype: 'sectionslist', id: 'mainl ...
- POJ 1190 生日蛋糕 剪枝
Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri ...
- Spring MVC 入门(二)
前言 上一篇讲到了 Spring MVC 的基本请求处理流程,本篇主要说一说如何使用 Spring MVC 来构建一个简单例子. 大致步骤如下 1.新建项目 2.导入相应 jar 包 (Spring ...
- N天学习一个Linux命令之mkdir
前言 暂无 用途 用于新建目录 常用参数 1.设置目录权限-m, --mode=MODE 2.递归创建目录(父目录不存在时,也创建)-p, --parents 3.其它-v, --verbose pr ...
- java Regex
超全 http://www.rexegg.com/regex-lookarounds.html 这篇文章不错:http://www.cnblogs.com/lzq198754/p/5780340.ht ...
- 大型项目开发: 隔离 (《大规模C++程序设计》书摘)
书中第六章 隔离. 主要在撰述什么须要定义在头文件?什么应当移到编译单元中? 核心仍然是先区分接口定义与实现细节.实现细节的改变会导致客户代码的又一次编译,从逻辑上也表示与客户代码间可能存在着强耦合. ...
- C++高精度性能測试函数
在实际software开发工作中.我们常常会測试某个module或者function的执行效率.或者是某个算法的时间复杂度(尽管时间复杂度一定程度上依赖于机器性能.但在同一台computer上,经过算 ...
- C++第11周(春)项目3 - 点类派生直线类
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759.内有完整教学方案及资源链接 [项目3 - 点类派生直线类]定义点类Poin ...
- Sqlserver 数据库恢复常见错误及解决(网站转载 留着备用)
数据库恢复常见错误及解决 2009-04-13 11:25 1145人阅读 评论(0) 收藏 举报 数据库databasesqlserverusermicrosoftsql server 在sqlSe ...