c++ - 编译期间我的项目中缺少 DLL
问题描述
我是 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
文件,并将它们放在应用程序的工作目录中。
推荐阅读
- javascript - 我可以在 package.json 中插入用户消息吗?
- jquery - Select2 v4 和 Bootstrap v4 - 缺少下拉菜单
- python - 在熊猫数据框中计算点之间最短(欧几里得)距离的最快方法
- c - C rand() 的问题
- visual-studio-code - 在 tasks.json 中使用“命令”类型的输入
- c# - 如何在 C# 中生成 .proto 文件或使用“Code First gRPC”
- c# - 无法打开第二个表格
- java - 如何将变量保存在循环中以便以后再次使用?
- powershell - IIS 10/Powershell - 如何“浏览” PSPath?
- javascript - jest.spyOn 不使用解构函数