简介:LibreCAD 是一款基于 Qt 框架、以 C++11 编写的跨平台开源 2D CAD 程序,支持 Windows、Linux 与 macOS,可读写 DXF、DWG 文件并导出 DXF、PDF、SVG。该资源面向设计师、工程师、学生及需要免费 CAD 替代方案的个人与企业用户,解决二维绘图、精确测量、图层管理、块与外部参照等日常设计需求,同时兼顾与 AutoCAD 文件的兼容性。压缩包为 zip 格式,大小约 16.46MB,上游未提供文件总数与类型明细,故不展开包内构成。目前已有 2769 人浏览学习,说明其在开源 CAD 入门与轻量绘图场景中具有一定关注度。软件界面高度可定制,支持数十种语言翻译,并内置 LISP 接口,便于编写宏或插件扩展功能;初学者可借助直观界面快速上手,有经验的用户也能利用专业级绘图工具完成较复杂的二维制图任务。
1. 从一次 DXF 打不开说起:LibreCAD 这套 2D CAD 环境到底装什么
上周帮一个做机械制图的朋友收拾电脑,他发来一张 DXF,说在别的软件里打开全是断线,尺寸标注也飘了。我第一反应不是文件坏了,而是他装的那套 2D CAD 环境版本和 Qt 运行库对不上。这类问题在 2D 制图圈子里太常见了:DXF、DWG 这种格式看着通用,实际不同软件写出来的实体编码、图层命名、单位约定都有差异,环境没配好,打开就是一堆玄学问题。LibreCAD 就是专门啃这块硬骨头的跨平台 2D CAD 程序,用 Qt 框架加 C++11 写成,能读 DXF 和 DWG,能写 DXF、PDF、SVG,界面高度可定制,还带几十种语言翻译。这篇笔记按我实际装机的顺序走一遍:先列清版本和依赖,再落到下载、编译、配置,最后告诉你怎么验证它真的能跑通,以及装坏了怎么救回来。
2. 装前把环境列清:Qt 版本、C++11 编译器和依赖库怎么选
LibreCAD 的安装翻车,八成翻在环境上,而不是软件本身。它依赖 Qt 框架,源码按 C++11 标准写,所以编译器太老、Qt 大版本不对,都会在编译阶段直接把你拦下来。我一般先把这三样东西的版本对齐,再动手下载,能省掉后面一大半排查时间。
2.1 Qt 版本与编译器的最低搭配
LibreCAD 长期主线用的是 Qt 5 系列,Qt 6 的迁移在部分分支里推进,但稳定发行版仍以 Qt 5 为主。我的建议很直接:优先选 Qt 5.12 及以上的 LTS 版本,编译器跟着平台走——Linux 下 GCC 7 以上,Windows 下 MSVC 2017 以上或 MinGW 7.3 以上,macOS 下 Clang 对应 Xcode 10 以上。C++11 是硬门槛,低于这个标准的编译器会在模板和智能指针相关代码上直接报错。
| 组件 | 推荐版本 | 最低要求 | 说明 |
|---|---|---|---|
| Qt | 5.12 LTS / 5.15 LTS | Qt 5.9 | Qt 6 需确认分支支持 |
| 编译器 | GCC 9 / MSVC 2019 / Clang 12 | GCC 7 / MSVC 2017 | 必须支持 C++11 |
| CMake | 3.16 以上 | 3.10 | 构建脚本入口 |
| 构建工具 | make / ninja / nmake | 对应平台默认 | ninja 编译更快 |
这张表不是让你照抄,而是让你在装之前先对一遍自己机器上的版本。我见过有人拿 Qt 5.6 去编,卡在QOverload相关语法上,折腾一下午才发现是 Qt 太老。
2.2 依赖库清单与安装命令
除了 Qt,LibreCAD 还需要几个常见库:用于字体渲染的 FreeType、用于 PDF 输出的部分图形库,以及可选的 Boost(部分分支用于几何计算)。Linux 下一条命令能装齐大部分:
# Debian/Ubuntu 系,装 Qt5 开发包和基础构建依赖 sudo apt update sudo apt install -y build-essential cmake qtbase5-dev qttools5-dev \ qttools5-dev-tools libfreetype6-dev libboost-dev git # 验证 Qt 版本,确认是 5.12 以上 qmake --version这段命令里,qtbase5-dev提供 Qt Core、Gui、Widgets 这些核心模块,qttools5-dev带的是 linguist 等工具,编译翻译文件时会用到。qmake --version那行是自检,输出里能看到 Qt 的具体版本号,低于 5.9 就别往下走了。Windows 下我一般用 Qt 官方安装器勾选对应 MSVC 套件,再把 CMake 和编译器路径加进环境变量,思路一样,只是命令换成图形界面操作。
提示:如果你机器上同时装了 Qt 5 和 Qt 6,务必在 CMake 配置时用
-DCMAKE_PREFIX_PATH显式指向 Qt 5 的安装目录,否则 CMake 可能抓到 Qt 6 然后报一堆模块找不到。
3. 下载与编译:从源码到可执行文件的完整步骤
环境对齐之后,真正动手的部分反而清晰。LibreCAD 提供预编译包和源码两条路,我倾向源码编译,原因是能确保 Qt 版本匹配,出问题也好定位。下面按 Linux 和 Windows 两条线写,命令都是我自己跑过的形态。
3.1 获取源码与目录结构确认
先克隆仓库,切到稳定分支。目录结构里最关键的是顶层CMakeLists.txt和librecad/子目录,前者是构建入口,后者是主程序源码。
# 克隆源码,--depth 1 只取最新提交,省带宽 git clone --depth 1 https://github.com/LibreCAD/LibreCAD.git cd LibreCAD # 看一眼顶层结构,确认 CMakeLists.txt 存在 ls -la | head -20--depth 1是浅克隆,日常编译够用;如果你要切历史版本排查问题,去掉这个参数重新拉。进目录后确认CMakeLists.txt在,说明你拿的是完整工程而不是某个子模块。
3.2 CMake 配置与编译参数
配置阶段是整条链路里最容易出错的一步。我习惯单独建一个build目录,避免污染源码树,也方便编译失败时直接删掉重来。
# 建独立构建目录,保持源码干净 mkdir build && cd build # 配置:指定 Qt5 路径、Release 类型、安装前缀 cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5 \ -DCMAKE_INSTALL_PREFIX=/usr/local # 开始编译,-j 后面跟 CPU 核心数,我一般用 nproc 自动取 make -j$(nproc)CMAKE_BUILD_TYPE=Release决定优化级别,调试阶段可以换成Debug方便看堆栈。CMAKE_PREFIX_PATH指向 Qt5 的 cmake 配置目录,路径因发行版而异,Ubuntu 下通常是上面那个,找不到就用find / -name "Qt5Config.cmake"定位。-j$(nproc)是并行编译,核数越多越快,但内存小的机器建议降到-j4,否则链接阶段可能被 OOM 杀掉。
Windows 下用 MSVC 的话,配置命令换成:
# 在 Qt 命令行环境里执行,确保 cl 和 qmake 都在 PATH cmake .. -G "NMake Makefiles" ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_PREFIX_PATH=C:/Qt/5.15.2/msvc2019_64 nmake-G "NMake Makefiles"指定生成器,CMAKE_PREFIX_PATH换成你实际安装的 Qt 路径。这一步如果报Qt5Widgets not found,基本就是路径写错或者 Qt 套件和编译器位数不匹配(32 位 Qt 配 64 位编译器是经典翻车点)。
3.3 安装与首次启动
编译成功后,build目录下会出现librecad可执行文件。先别急着装,直接跑一下看能不能起来:
# 从构建目录直接启动,验证二进制可用 ./librecad # 确认没问题后再安装到系统路径 sudo make install直接跑构建目录里的二进制,能避开安装路径权限问题,快速判断是编译问题还是安装问题。make install会把可执行文件、翻译文件和资源装到CMAKE_INSTALL_PREFIX指定的位置,默认/usr/local,之后终端里直接敲librecad就能启动。
4. 配置与格式支持:DXF/DWG 读写、界面定制和翻译怎么落地
装完能启动只是第一步,LibreCAD 的价值在于格式读写和界面定制,这些配置项没调好,用起来照样别扭。这一章讲清楚 DXF/DWG 的读写边界、界面定制的落点,以及翻译文件怎么生效。
4.1 DXF 与 DWG 读写的实际边界
LibreCAD 读 DXF 和 DWG、写 DXF/PDF/SVG,这是它的核心能力,但读写不是无损的。DXF 方面,它支持主流版本(R12 到 R2018 的大部分实体),但一些厂商私有扩展实体读进来会降级成基本图元。DWG 读取依赖内置的转换层,复杂三维实体和部分动态块可能丢失。写 PDF 和 SVG 时,线宽和填充按打印样式输出,屏幕显示和导出结果偶尔有细微差异,这是 2D CAD 的通病,不是 LibreCAD 独有。
实际操作里,我一般先在「文件 → 打开」里选 DXF,导入后立刻检查图层和单位设置。单位不对会导致尺寸标注整体偏移,这是最常见的「打开就错位」原因。导出 PDF 前,在打印设置里确认纸张和比例,别用默认值直接导。
4.2 界面定制与翻译文件生效
LibreCAD 的界面高度可定制,工具栏、菜单、快捷键都能改。配置文件在用户目录下的.config/LibreCAD/(Linux)或%APPDATA%/LibreCAD/(Windows),里面是 XML 和 ini 混合格式。改之前先备份,改坏了直接还原。
翻译文件方面,源码里带了几十种语言的.ts文件,编译时通过lrelease转成.qm才会生效。如果你装的是预编译包,翻译一般已经打包;源码编译的话,确认make install把qm文件装到了share/librecad/translations下。界面语言在「编辑 → 应用首选项 → 语言」里切换,切完重启生效。
注意:翻译文件缺失时界面会回退到英文,这不是安装失败,别急着重装,先检查 translations 目录是否存在对应语言的 qm 文件。
5. 装坏了怎么救:编译失败、启动崩溃与格式异常的排查
这套环境我装过不止一次,踩的坑集中在编译、启动和格式三个环节。下面五条是我印象最深的,每条按现象、原因、解决写,你对照着看能少走弯路。
5.1 编译报 C++11 相关错误
现象:编译到一半报auto推导失败或std::unique_ptr未定义。原因:编译器默认标准低于 C++11,或者 CMake 没显式指定标准。解决:在 CMake 配置时加-DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_STANDARD_REQUIRED=ON,然后清空 build 目录重新配置。别在旧缓存上改,CMake 缓存会记住旧设置。
5.2 启动即崩溃,终端无输出
现象:双击或命令行启动,窗口一闪就退。原因:多半是 Qt 插件路径不对,平台插件platforms/libqxcb.so没找到。解决:设置export QT_DEBUG_PLUGINS=1再启动,终端会打印插件加载过程,缺哪个补哪个;Linux 下确认qtbase5-dev装全,必要时用QT_QPA_PLATFORM_PLUGIN_PATH显式指定插件目录。
5.3 DXF 打开后图元错位
现象:文件能打开,但线条位置整体偏移或比例不对。原因:文件单位与当前图纸单位不一致,导入时没做换算。解决:导入对话框里检查单位设置,或在「编辑 → 当前绘图设置」里统一单位后重新导入。这类问题不是软件 bug,是格式约定差异,换任何 2D CAD 都会遇到。
5.4 make install 权限不足
现象:安装阶段报Permission denied。原因:CMAKE_INSTALL_PREFIX指向系统目录但没用 sudo。解决:要么sudo make install,要么把前缀改成用户目录如~/.local,后者更干净,卸载时直接删目录即可。
5.5 中文界面不生效
现象:语言选项里选了中文,重启还是英文。原因:对应qm文件没装或路径不对。解决:去安装目录的share/librecad/translations下确认librecad_zh_CN.qm存在,没有就回源码目录执行lrelease librecad_zh_CN.ts手动生成再拷贝过去。
6. 装完怎么验证跑通:三步自检和我的固定习惯
装完不验证,等于没装。我验证 LibreCAD 环境是否真正可用,固定走三步,每步都有明确的通过标准,不靠「看起来能开」这种模糊判断。
第一步,版本与依赖自检。终端执行librecad --version,能打印出版本号说明二进制完整、动态库链接正常。再执行ldd $(which librecad) | grep "not found",输出为空才算依赖齐全,有not found就说明缺库,按前面排查章节补。
第二步,格式读写闭环。新建一张图纸,画几条线和一个圆,分别导出 DXF、PDF、SVG 三个格式,再重新导入 DXF,确认图元和图层没丢。这一步能同时验证写入和读取两条链路,比单看界面可靠得多。
第三步,翻译与界面定制生效。切一次语言、改一个快捷键,重启后确认改动保留。配置文件能正常读写,说明用户目录权限和配置解析都没问题。
| 验证项 | 命令或操作 | 通过标准 |
|---|---|---|
| 版本与依赖 | librecad --version+ldd检查 | 有版本号,无 not found |
| 格式闭环 | 画图后导出 DXF/PDF/SVG 再导入 | 图元、图层完整 |
| 配置持久化 | 改语言和快捷键后重启 | 改动保留 |
这三步走完,基本能确认环境是活的,而不是「装上了但一用就崩」。从那以后我每次装完 LibreCAD,都强制走一遍这个三步自检,尤其是ldd那行,它救过我两次——一次是缺 FreeType,一次是 Qt 插件路径错,都是界面能开但导出 PDF 时才暴露的问题。装环境这事,验证比安装本身更值得花时间。希望帮到你。
本文还有配套的精品资源,点击获取