问题描述
我是 conan/premake 的新手,我已经制作了一个 conanlist 和一个 premake 来设置我的项目。
但是当我在发布模式下执行我的项目时,我收到 QT6Widgets.dll is missing
和 QT6Core.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.dll
和 QT6Core.dll
文件,并将它们放在应用程序的工作目录中。