LimeReport 是一个基于 Qt 框架、完全开源(LGPL v3许可)的专业报表生成引擎,弥补了 Qt 原生打印模块在复杂报表场景下的功能短板。它支持可视化设计器,能直接对接 C++ 数据模型。
第一步:源码下载与编译
方法一:使用 Git 克隆(推荐)
git clone https://github.com/fralx/LimeReport.git
方法二:直接下载 ZIP 包
如果网络条件不允许使用 Git,可以直接访问 LimeReport GitHub 仓库,点击绿色的 Code 按钮 -> Download ZIP
设置 C++ 标准(重要)
如果遇到的编译错误(inline 变量问题),请在 LimeReport 的 .pro 文件中启用 C++17 标准。
-
用 Qt Creator 打开
LimeReport/limereport.pro文件。 -
在文件开头添加以下任意一行配置:
# 方法一:使用 Qt 内置配置 CONFIG += c++17 # 方法二:如果方法一不生效,直接指定编译器的标准 QMAKE_CXXFLAGS += -std=c++17 # 如果你在 Windows 上使用 MSVC,请用下面这行: # QMAKE_CXXFLAGS += /std:c++17方法三(我尝试了前两种,都不行,因为我的环境不支持C++17) 找到代码中报错的inline部分,删除inline,在最前面加上static,比如: 将: const int inline COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>(); 修改为: static const int COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>();如果你的项目是使用 CMake 构建的,可以直接跳过此步。
使用 Qt Creator 编译(我用的)
- 使用 Qt Creator 打开
LimeReport/limereport.pro文件。 - 在左侧的“项目”面板中,选择你使用的 Kit(例如 Desktop Qt 5.15.2 MinGW 64-bit)。
- 选择 Release 构建模式。
- 点击左下角的锤子图标(构建)进行编译。
使用命令行(Linux/macOS/MinGW)
- 打开终端,进入到
LimeReport目录:cd LimeReport - 执行 qmake 和 make:
qmake make
编译成功后,在build里面找库,需要找到这两个关键产物:
- 动态链接库文件:Windows 下是
limereport.dll,Linux 下是liblimereport.so。它位于构建目录的子文件夹(如librelease/或lib/)中。 - 头文件目录:编译时,编译器需要知道头文件的存在,它们通常位于
LimeReport/include下。
3. 第二步:集成到你的 Qt 项目
在你的 LimeReport 源码根目录下,应该能找到一个名为 build 的文件夹。在里面可以分别找到 debug 和 release 两个子目录,它们分别对应两种构建模式。
进入 debug/lib 或 release/lib 目录,看看里面是否有类似 limereportd.a (Linux) 或 limereportd.lib (Windows) 的文件。
如果这些文件不存在,你需要重新编译。建议分别用 Debug 和 Release 两种模式各编译一次,以确保同时获得 limereport 和 limereportd 两种库文件。
在 Qt 项目的 .pro 文件中,需要明确告诉链接器,在不同的构建模式下使用对应的库文件。
可以检查并调整,将原来的 LIBS += … 部分修改成类似下面的形式:
# 包含头文件(请确认路径正确)
INCLUDEPATH += $$PWD/3rdparty/include
# Debug 模式链接 limereportd
CONFIG(debug, debug|release) {
LIBS += -L$$PWD/3rdparty/lib/debug -llimereportd
}
# Release 模式链接 limereport
CONFIG(release, debug|release) {
LIBS += -L$$PWD/3rdparty/lib/release -llimereport
}
或者,也可以使用更简洁的条件判断写法:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/3rdparty/lib/release/ -llimereport
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/3rdparty/lib/debug/ -llimereportd
6. 总结与资源
- 官方 GitHub 仓库:https://github.com/fralx/LimeReport
- 官方论坛 & 文档:http://limereport.ru/
5288

被折叠的 条评论
为什么被折叠?



