背景:写的程序需要读写excel文件,使用了开源的第三方工具xlnt,如果把xlnt的dll库加载到自己的QT项目中使用呢?
主要分为三步
1、在项目的pro文件中添加xlnt头文件目录
2、在项目的pro文件中添加xlnt的dll库
3、在项目的pro文件中拷贝dll库到运行环境下
样例:
includeFile = $$PWD/xlnt
INCLUDEPATH += $$replace(includeFile, /, \\)
message(Incluepath=$$INCLUDEPATH)
libPath = $$PWD/dll/libxlnt.dll
LIBS += $$replace(libPath, /, \\) #windows下路径是反斜杠,所以需要替换
message(libPath=$$LIBS)
# Copy dll file
win32:{
dllSource = $$PWD/dll/libxlnt.dll
dllSource = $$replace(dllSource, /, \\)
dllTarget = $$OUT_PWD/
dllTarget = $$replace(dllTarget, /, \\)
Debug:{
QMAKE_POST_LINK = xcopy $$dllSource $$dllTarget\debug /y
}
Release:{
QMAKE_POST_LINK = xcopy $$dllSource $$dllTarget\release /y
}
}
else: {
dllSource = $$PWD/dll/libxlnt.dll
dllTarget = $$OUT_PWD/
Debug:{
QMAKE_POST_LINK = xcopy $$dllSource $$dllTarget /y
}
Release:{
QMAKE_POST_LINK = xcopy $$dllSource $$dllTarget /y
}
}
PS:1、引入头文件和库文件路径后,然后在代码中#include “xlnt/xlnt.hpp”,即可使用xlnt的接口。
2、拷贝dll文件到运行环境的目的是不用每次删除工程重新构型时,还要手工拷贝dll库到运行目录下。