【问题标题】:QT build errors with plugin / sdk library (autodesk fbx sdk)QT 使用插件/sdk 库构建错误(autodesk fbx sdk)
【发布时间】:2020-10-05 11:51:31
【问题描述】:

我刚刚学会了配置我的 VS 控制台应用程序以使用 Autodesk fbx 插件 (vs2017)。我现在正在尝试将它嵌入到 QT 创建器中,但它似乎不起作用:由于未定义的引用,该项目无法构建。显然它无法附加 sdk 的组件之一,但我不知道为什么会这样。

在我的 .pro 文件中,我添加了以下内容:

LIBS += "E:/misc/fbx sdk/2020.0.1/lib/vs2017/x86/release/libfbxsdk.lib"
LIBS += "E:/misc/fbx sdk/2020.0.1/lib/vx2017/x86/release/libfbxsdk.dll"

INCLUDEPATH += "E:/misc/fbx sdk/2020.0.1/include"

DEPENDPATH += "E:/misc/fbx sdk/2020.0.1/lib/vs2017/x86"

这应该已将 libfbxsdk.lib 运行时库添加到项目中,并且我还在那里引用了 .dll 但这不可能是问题,因为错误会在运行时触发。包含应该没问题,因为标题也正确包含在内。您知道为什么会发生这种情况吗?

以下是错误:

我是否正确理解这些必须已在 .lib 中声明?但是QT还是看不到他们?

【问题讨论】:

    标签: c++ qt autodesk fbx


    【解决方案1】:

    我终于得到了这个工作。首先,我尝试一个合乎逻辑的解释......

    我下载的 fbx sdk 包是专门针对 Visual Studio 2017 的。另外,我的目标是 32 位。现在,Visual Studio 的本机编译器是 MSVC,它定义了工具链,包括链接、编译等。QT 的默认编译器(至少对我来说)是 g++。我不能给你任何好的解释,但这就是 QT 中的链接器失败的原因:你必须编译和链接 sdk 与它设计的工具链。也就是说,使用 MSVC 编译器,对我来说,使用 32 位架构。

    步骤: 1.你必须安装一个用MSVC编译的QT版本。我安装了 Qt 5.12.2 MSVC 2017 32 位(2017 因为我已经下载了 VS 2017 的 SDK) 2. 安装后,您必须在 QT creator 中选择适当的工具链:这可以在套件中完成。转到套件并直接在那里选择 MSVC 套件。从 (1.) 安装所有内容后,它应该可用。请注意,之前激活的其他套件必须通过右键单击它们并选择选项来停用。可以在“项目”选项卡中管理套件。 3. 之后,您可以包含项目的路径并链接库 - 静态或动态。如果你动态链接,你也必须管理.dll(我把它放在项目构建的文件夹中。如果你静态链接,你必须链接所有相关的.libs - 例如,我首先跳过了xml .lib 再次导致链接器错误。

    在下面查看我的 .pro 包含/添加:

    INCLUDEPATH += "E:/misc/fbx sdk/2020.0.1/include"
    
    
    
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/'../../../misc/fbx sdk/2020.0.1/lib/vs2017/x86/release/' -llibfbxsdk
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/'../../../misc/fbx sdk/2020.0.1/lib/vs2017/x86/debug/' -llibfbxsdk
    
    INCLUDEPATH += $$PWD/'../../../misc/fbx sdk/2020.0.1/lib/vs2017/x86/release'
    DEPENDPATH += $$PWD/'../../../misc/fbx sdk/2020.0.1/lib/vs2017/x86/release'
    

    我已经通过 QT 向导实现了库包含:右键单击该项目,然后选择“添加库”。然后选择“外部库”,指定路径,选择动态链接还是静态链接。

    如果您碰巧遇到了同样的问题并且对此有疑问,请随时在 cmets 中留言。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2013-04-21
      • 2021-02-04
      • 2017-03-01
      • 2016-03-11
      • 2013-11-07
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      相关资源
      最近更新 更多