gpt4 book ai didi

c++ - 使用 leadtools 在 QT creator 下读取和生成 Qr

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:34 27 4
gpt4 key购买 nike

我想购买从 Leadtools 读取和生成 QR 码的许可证但首先我想试试他们的演示工具。 我正在使用 MSVC 2013 x64 编译器。我想我在文档中做了如下所有事情:

  1. 将所有 dll 复制到我的项目目录(构建和发布文件夹所在的位置)
  2. 将 Include 和 Lib 文件夹复制到我的项目目录并将此行添加到 .pro 文件。

LIBS += -L$$PWD/Lib/CDLLVC12/x64/-lLtkrn_x
包含路径 += $$PWD/包含
PRE_TARGETDEPS += $$PWD/Bin/CDLLVC12/x64/Ltkrnx.dll

  1. 包含并#define LTV19_CONFIG,这是我的代码:

    #define LTV19_CONFIG
    #include <iostream>
    #include <Ltkrn.h>
    #include <ClassLib/LtWrappr.h>
    using namespace std;

    int main( ){
    if( LT_KRN == LBase::LoadLibraries( LT_KRN, LT_DLGKRN))
    cout << "success" << endl;

    L_TCHAR licenseFile[] = L"d:\\temp\\TestLic.lic";
    L_TCHAR key[] = L"xyz123abc";
    LSettings::SetLicenseFile( licenseFile, key);

    return 0;
    }
  2. 询问 leadtools 支持,但他们没有太多使用 QT 的经验...

当我尝试构建应用程序时出现以下错误:

    LNK2019: unresolved external symbol "__declspec(dllimport) public: static unsigned int __cdecl LBase::LoadLibraries(unsigned int,unsigned int)" (__imp_?LoadLibraries@LBase@@SAIII@Z) referenced in function main
LNK2019: unresolved external symbol "__declspec(dllimport) public: static int __cdecl LSettings::SetLicenseFile(wchar_t *,wchar_t *)" (__imp_?SetLicenseFile@LSettings@@SAHPEA_W0@Z) referenced in function main

对于以下方法,文档说我只需要一个 dll/lib 包 (ltkrn)。如何解决?我仍然没有得到静态和动态链接之间的区别,这可能是问题所在。

最佳答案

如果您的链接器接受 64 位 Ltkrn_x.lib,这表明问题与您使用 LEADTOOLS 的方式有关,而不是与 QT 有关。这就是为什么我将此作为建议回复而不是注释发布的原因。 当使用 LEADTOOLS 和 C++ 进行编程时,您通常使用两组 header 和 LIB 中的一组:

  1. 要么包括 L_Bitmap.H(或一组包括 LtKrn.H 的 header )并使用 Ltkrn_x、Ltfil_x 等 LIB 文件集。

  2. 或者包含 ClassLib\LtWrappr.h 并只使用一个 LIB 文件,在您的情况下是 Ltwvc_x.lib

虽然在这两种情况下您将使用许多相同的 DLL 文件,例如 Ltfilx.dll 和 Ltkrnx.dll,但在使用 LtWrapper 时不需要它们的 LIB 文件的原因是 ClassLibrary 执行较晚(按需)在运行时加载这些 DLL 而不是在链接时引用它们的 LIB 文件。

这也是为什么您需要调用 LBase::LoadLibraries() 并在您的代码使用这些 DLL 之前指定您需要的 DLL。
所以总而言之,请试试这个:

  • 删除#include "Ltkrn.h"

  • 删除对 Ltkrn_x.lib 的链接器引用(尽管您需要 DLL)

  • 保留#include "ClassLib/LtWrappr.h"

  • 添加对 Ltwvc_x.lib 的链接器引用

关于c++ - 使用 leadtools 在 QT creator 下读取和生成 Qr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30071701/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com