问题描述
我开始了一个 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 (将#修改为@)