如何解决使用 premake 在 Visual Studio 中为 QT 生成/使用 moc 文件的问题
我开始了一个 Qt
项目,并决定使用 premake + conan
来获取必要的信息。为了创建个人插槽,我必须在头文件中添加 Q_OBJECT
。我唯一的问题是创建 moc
文件。
我使用了 github Addon 来简化 Qt
部分,除了在编译时,它给了我一个 moc_Window.args
文件,并且在 Visual Studio 中,当我启动解决方案时,它说我有一个 moc_Window.cpp
文件,它应该与 .args
文件位于同一位置。但是当我尝试通过解决方案打开它时,自然找不到,因此无法编译。
所以我的问题如下,创建这个 .args
文件是一种常见的行为吗?我必须把它放在一个特定的文件夹中吗?为什么解决方案说我在解决方案中有一个 moc
文件,但文件夹中没有任何内容?
Moc'ing Window.h 无法找到访问路径。
这是我的premake.lua
include "build/conanbuildinfo.premake.lua"
include "premake-qt/qt.lua"
local qt = premake.extensions.qt
workspace "TileEditor"
conan_basic_setup()
configurations
{
"Debug","Release","dist"
}
outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
project "TileEditor"
location "TileEditor"
kind "ConsoleApp"
language "C++"
qt.enable()
qtpath("../build")
qtincludepath("../build/include")
qtlibpath("../build/lib")
qtbinpath("../build/bin")
qtprefix "Qt6"
qtmodules {"core","gui","opengl","widgets"}
qtgenerateddir "src/include/window"
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
objdir ("bin-obj/" .. outputdir .. "/%{prj.name}")
linkoptions { conan_exelinkflags }
files
{
"**.h","**.cpp"
}
configuration "windows"
cppdialect "C++17"
postbuildcommands {
"{copY} ../build/bin/Qt6Core.dll %{cfg.targetdir}","{copY} ../build/bin/Qt6Gui.dll %{cfg.targetdir}","{copY} ../build/bin/Qt6Widgets.dll %{cfg.targetdir}","{copYDIR} ../build/bin/ %{cfg.targetdir}"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。