Closed qiu-hao closed 5 years ago
qt.application确实会附带qml framework,我现在做了拆分。
gui程序分成两个rules
qt.widgetapp
qt.quickapp
只有add_rules("qt.quickapp")
程序才会自动设置qml framework,而add_rules("qt.widgetapp")
不会。。
如果你没用到qml去写gui,可以试试 仅仅设置 add_rules("qt.widgetapp")
而qt.application为了向下兼容,目前还是会保留,适配到 qt.quickapp
你更新下dev分支代码试试,xmake update -s dev
深夜更新,辛苦你们了,我早上测试了一下 创建qt.widgetapp 模板 可以运行,但是在qt.widgetapp rules下那个控制台还存在,那个好像应该隐藏吧
还有就是自V2.2.8开始在win10 powershell中使用xmake create命令,创建成功后,输出信息
create ok!
后面显示是方框,好像是乱码了
深夜更新,辛苦你们了,我早上测试了一下 创建qt.widgetapp 模板 可以运行,但是在qt.widgetapp rules下那个控制台还存在,那个好像应该隐藏吧
我尝试改了下,之前只对msvc工具链设置了-entry:mainCRTStartup入口,mingw的没有,你更新下dev后再试试
还有就是自V2.2.8开始在win10 powershell中使用xmake create命令,创建成功后,输出信息
create ok!
后面显示是方框,好像是乱码了
这块是由于2.2.8默认放开了emoji显示,这在部分win terminal上也许还不支持显示,dev上我加了个开关来控制,你可以设置 XMAKE_COLORTERM_NOEMOJI=y 环境变量来禁用emoji显示
开发者们,你们好,刚才我更新了一下Xmake,xmake build后出错了
PS D:\MyProjects\VisualStudioCode\Cplusplus\PracticeProject\SetParts> xmake clean PS D:\MyProjects\VisualStudioCode\Cplusplus\PracticeProject\SetParts> xmake build [ 0%]: compiling.qt.ui src\aboutsoft.ui [ 0%]: compiling.qt.ui src\mainwindow.ui [ 59%]: compiling.release src\mainwindow.cpp [ 39%]: compiling.release src\main.cpp [ 79%]: compiling.qt.moc src\mainwindow.h [100%]: linking.release SetParts.exe error: g++: error: unrecognized command line option '-subsystem:windows'
关于隐藏控制台,我之前在qt.application rules下 在xmake -v 看到有个-fvisibility=hidden 是不是隐藏控制台窗口的,或者你可以参考QtCreator 中qmake的构建Qt 程序只有界面,没有控制台窗口
跟 -fvisibility=hidden 那个没啥关系,我更新了下 你再update dev后试试
更新后,依然出现
error: g++: error: unrecognized command line option '-subsystem:windows'
更新后,依然出现
error: g++: error: unrecognized command line option '-subsystem:windows'
这个flags之前就一直在的,之前没报错? 你敲 -v 编译给我看下完整链接命令
rojects\VisualStudioCode\Cplusplus\PracticeProject\SetParts> xmake update -s dev update version dev from official source .. => download https://gitee.com/tboox/xmake.git .. ok => install script to C:\Program Files\xmake .. ok PS D:\MyProjects\VisualStudioCode\Cplusplus\PracticeProject\SetParts> xmake build [ 0%]: compiling.qt.ui src\aboutsoft.ui [ 0%]: compiling.qt.ui src\mainwindow.ui kind = static bin = C:\mingw\bin theme = default plat = mingw qt = C:\Qt\5.12.4-mingw-x64 } [100%]: linking.release SetParts.exe C:\\mingw\\bin\\g++ -o build\\mingw\\x86_64\\release\\SetParts.exe build\\.objs\\SetParts\\mingw\\x86_64\\release\\src\\main.cpp.obj build\\.objs\\SetParts\\mingw\\x86_64\\release\\src\\mainwindow.cpp.obj build\\.objs\\SetParts\\mingw\\x86_64\\release\\gens\\rules\\qt\\moc\\moc_mainwindow.cpp.obj -LC:\\\\Qt\\\\5.12.4-mingw-x64\\\\lib -s -fvisibility=hidden -lQt5Widgets -lQt5Gui -lQt5Core -lmingw32 -lQt5AccessibilitySupport -lQt5AccessibilitySupportd -lQt5Bootstrap -lQt5Concurrent -lQt5Concurrentd -lQt5Cored -lQt5DBus -lQt5DBusd -lQt5DeviceDiscoverySupport -lQt5DeviceDiscoverySupportd -lQt5EdidSupport -lQt5EdidSupportd -lQt5EventDispatcherSupport -lQt5EventDispatcherSupportd -lQt5FbSupport -lQt5FbSupportd -lQt5FontDatabaseSupport -lQt5FontDatabaseSupportd -lQt5Guid -lQt5Network -lQt5Networkd -lQt5PrintSupport -lQt5PrintSupportd -lQt5Sql -lQt5Sqld -lQt5Test -lQt5Testd -lQt5ThemeSupport -lQt5ThemeSupportd -lQt5Widgetsd -lQt5WindowsUIAutomationSupport -lQt5WindowsUIAutomationSupportd -lQt5Xml -lQt5Xmld -lqtfreetype -lqtfreetyped -lqtlibpng -lqtlibpngd -lqtmain -lqtmaind -subsystem:windows -entry:mainCRTStartup -m64 error: g++: error: unrecognized command line option '-subsystem:windows'
昨天深夜你更新的那个就没有出错
哦 你从gitee更新的dev,我刚没环境,只在web上改了github的。。你强制从github更新dev吧。。gitee的还没更新
xmake update -s github:xmake-io#dev
xmake update -s github:xmake-io#dev
用不了
`error: ssh: Could not resolve hostname github: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.`
我用git clone -b dev https:/github.com/xmake-ip/xmake.git
下载了dev版本
然后覆盖C:\Program files\xmake中的文件
xmake build没问题
但是
xmake run
出现
PS D:\MyProjects\VisualStudioCode\Cplusplus\PracticeProject\SetParts> xmake run error: execv(D:\MyProjects\VisualStudioCode\Cplusplus\PracticeProject\SetParts\build\mingw\x86_64\release\SetParts.exe) failed(4198400)!
程序本来是可以运行的,现在不能运行了
使用
xmake create -l c++ -t widgetapp_qt test
创建了新的项目,运行还是出现上述错误
哦,那看来跟msvc那样加 -Wl,-entry:mainCRTStartup 还不一定行,我先还原回去了,等回头我有mingw环境了,再给你看看吧,现在身边没mingw环境,也没时间细致调试。。或者等晚上再看看吧。。
如果你有时间,也可以自己修改下安装目录下相关源码,尝试做些修改:
刚敲错了,xmake update -s github:xmake-io/xmake#dev 应该是这个。。
嗯,好的
你又改了下,你再更新下dev试试
佩服您这股子钻研精神,试了dev,好用了,控制台窗口隐藏了
ok
开发者们,你们好,我在window10 系统下使用 mingw gcc9.0 x86_64版本编译了 Qt 5.12.4的Base 模块 默认是没有QML的 我在VSCode 下 配合Xmake 开发Qt界面,在xmake.lua文件中
add_rules(qt.application)
时会默认链接Qt5Qml 程序在add_rules(qt.console)
时是可以运行的,不依赖Qt5Qml 请问 在qt.application下有什么方法取消默认链接Qt5Qml?