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盘启动盘装系统的步骤和过程全部忘记的,贼尴尬. 同事都看不过眼 ...
随机推荐
- hdu_1020_Encoding_201310172120
Encoding Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- pg 学习资料
文/谭峰 DBA,PostgreSQL专家 开源数据库 PostgreSQL 中文资料非常缺乏,很多社区朋友苦于上手的中文资料少,因此汇总收集以下 PostgreSQL 中文资料,包括 Postgre ...
- Linux - Virsh
virsh命令 suspend resume dumpxml KVM平台以存储池的形式对存储进行统一管理,所谓存储池能够理解为本地文件夹.通过远端磁盘阵列(iSCSI.NFS)分配过来磁盘或文件夹 ...
- ural 1468
写了好久,不知道为什么不过,也不清楚到底卡在哪里... 只好看别人的代码,感觉除了HASH不一样外,倒没什么特别之处.同时参考那论文写的.. http://blog.csdn.net/jyysc201 ...
- 用于改善质量、稳定性和多样性的可增长式GAN
用于改善质量.稳定性和多样性的可增长式GAN GANs NVIDIA Fly real or fake ? real or fake ? 1024 x 1024 images generated us ...
- [PWA] Check Online Status by using the NavigatorOnLine API
Even if you have your application fully cached, you couldn’t perform any external request without in ...
- POJ 3748:位操作
位操作 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8964 Accepted: 3581 Description 如 ...
- Android 开源框架Universal-Image-Loader全然解析(一)--- 基本介绍及使用
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303).请尊重他人的辛勤劳动成果,谢谢! 大家好! ...
- @ConfigurationProperties注解
@Value获取值和@ConfigurationProperties获取值比较 | | @ConfigurationProperties | @Value | | ------- ...
- 64位oracle数据库用32位plsql developer无法连接问题(无法载入oci.dll)
在64位操作系统下安装oracle数据库,新下载了64位数据库(假设是32位数据库安装在64位的操作系统上,无论是client还是server端.都不要去选择C:\Program Files (x86 ...