微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编译期间我的项目中缺少 DLL

如何解决编译期间我的项目中缺少 DLL

我是 conan/premake 的新手,我已经制作了一个 conanlist 和一个 premake 来设置我的项目。 但是当我在发布模式下执行我的项目时,我收到 QT6Widgets.dll is missingQT6Core.dll is missing。我不知道如何解决这个问题。这是我的conanfile

[requires]
glfw/3.3@bincrafters/stable
qt/6.0.1@bincrafters/stable
boost/1.75.0
[generators]
premake

这是我制作的预制

include "build/conanbuildinfo.premake.lua"

workspace "TileEditor"
    conan_basic_setup()

    configurations
    {
        "Debug","Release","dist"
    }

outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"

project "TileEditor"
    location "TileEditor"
    kind "WindowedApp"
    language "C++"

    targetdir ("bin/" .. outputdir .. "/%{prj.name}")
    objdir ("bin-obj/" .. outputdir .. "/%{prj.name}")

    linkoptions { conan_exelinkflags }

    files
    {
        "**.h","**.cpp" 
    }

    filter "configurations:Debug"
    defines { "DEBUG" }
    symbols "On"

    filter "configurations:Release"
    defines { "NDEBUG" }
    optimize "On"

解决方法

动态链接库或简称 DLL,在编译时未链接到您的应用程序。编译时喜欢的库类型是静态库(.lib 文件)。

默认情况下,当您尝试执行应用程序时,系统会检查所需的 DLL 是否在工作目录中(在应用程序所在的目录中)。如果未找到,它将检查默认系统目录。如果同样失败,则会弹出一个错误。

因此,要解决您的问题,请从 Qt 安装目录中复制 QT6Widgets.dllQT6Core.dll 文件,并将它们放在应用程序的工作目录中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。