只有提取了chilkat库(chilkat-9.5.0-x86_64-7.3.0-posix-seh-rt_v5-rev0)后,我才有一个用于链接的“ .a”文件和一个包含所有头文件的include文件夹。
我从这里下载它:http://www.chilkatsoft.com/downloads_mingw.asp。因为我使用MinGW作为C ++编译器
由于解压缩后“ .a”文件可用,因此我只将库添加到qt项目中。当我包含标头时,我可以运行该程序,但是当我尝试创建对象并使用这些功能时,它会失败。
这是解压缩后的文件夹:
我将库添加到qt程序中,如下所示:
这是代码:
#include "include/CkZip.h"
#include <QCoreApplication>
#include <iostream>
#include <iomanip>
void ShowZipVersion(void)
{
CkZip zip;
printf("Zip version: %s",zip.version());
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
ShowZipVersion();
return a.exec();
}
我想知道所有这些cpp文件在哪里,我很困惑,因为我无法在线找到有关此文件的信息。我已经在Code :: Blocks IDE上尝试过,并显示了相同的问题。这让我困惑了好几个星期。在此先感谢您的帮助。
更新
根据Guillaume,我在添加chilkat库时更改了设置 Add ".a" as static library
但是我没有勾选“为调试版本添加d后缀”,因为在文件夹中找不到 libchilkat-9.5.0d.a 之类的东西
现在,.pro文件中生成的代码如下:
unix|win32: LIBS += -L$$PWD/../../../Enzo/Library/chilkat-9.5.0-x86_64-7.3.0-
posix-seh-rt_v5-rev0/ -llibchilkat-9.5.0
INCLUDEPATH += $$PWD/../../../Enzo/Library/chilkat-9.5.0-x86_64-7.3.0-posix-
seh-rt_v5-rev0/include
DEPENDPATH += $$PWD/../../../Enzo/Library/chilkat-9.5.0-x86_64-7.3.0-posix-
seh-rt_v5-rev0/include
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../../Enzo/Library/chilkat-
9.5.0-x86_64-7.3.0-posix-seh-rt_v5-rev0/libchilkat-9.5.0.lib
else:unix|win32-g++: PRE_TARGETDEPS += $$PWD/../../../Enzo/Library/chilkat-
9.5.0-x86_64-7.3.0-posix-seh-rt_v5-rev0/liblibchilkat-9.5.0.a
现在错误变为: no rules to make target liblibchilkat-9.5.0.a
我不知道为什么,但是它在“ libchilkat-9.5.0.a”中添加了“ lib”