Chilkat对函数和构造函数的未定义引用

时间:2019-05-06 16:19:59

标签: c++ qt chilkat

只有提取了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项目中。当我包含标头时,我可以运行该程序,但是当我尝试创建对象并使用这些功能时,它会失败。

这是解压缩后的文件夹:

  1. chilkat files
  2. chilkat include folder

我将库添加到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();
}

当我运行该错误时显示: enter image description here


我想知道所有这些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”

0 个答案:

没有答案