linuxdeepin / dtkcore Goto Github PK
View Code? Open in Web Editor NEWDeepin Toolkit, core module
License: Other
Deepin Toolkit, core module
License: Other
dfilesystemwatcher.zh_CN.dox
2023/1/12
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
暂时不做分词的处理,简单的将多种可能的多音字拼音排列组合给出返回一个列表。
qsettingbackend.zh_CN.dox
2022/12/3
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
libdtkcore.so.5.1.2 libdtkwidget.so.5.1.2 何时开源?
在实际使用过程中,发现目前的dfilewatchermanager的功能还有所欠缺:
dtkcore 5.4.0 is found in community edition but there is no such tag here.
dsettingsoption.zh_CN.dox
2022/12/2
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
环境 windows10 MSVC
参考文章:https://blog.iceyer.net/articles/545/
具体
C:\Users\pikachu\Downloads\dtkcore-master\conan_demo>conan install . --build dtkcore
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=15
os=Windows
os_build=Windows
[options]
[build_requires]
[env]
dtkcore/2.0.9@iceyer/stable: WARN: Forced build from source
conanfile.txt: Installing package
Requirements
OpenSSL/1.0.2n@conan/stable from 'conan-center' - Cache
dtkcore/2.0.9@iceyer/stable from 'iceyer' - Cache
dtkwidget/2.0.9@iceyer/stable from 'iceyer' - Cache
jom_installer/1.1.2@bincrafters/stable from 'bincrafters' - Cache
qt/5.6.3@iceyer/stable from 'iceyer' - Cache
Packages
OpenSSL/1.0.2n@conan/stable:760a7869f94eaf263c5fdc88d1511a0b77e76ac5 - Cache
dtkcore/2.0.9@iceyer/stable:5496cc8a8b992a76e99ebb11aa0d93ea23a97da7 - Build
dtkwidget/2.0.9@iceyer/stable:9e7422f7842318a975caf304003f861deb7e85d2 - Missing
jom_installer/1.1.2@bincrafters/stable:3475bd55b91ae904ac96fde0f106a136ab951a5e - Cache
qt/5.6.3@iceyer/stable:a72bc1cbfdc7cf7f3aad03ad72eded54137dde82 - Cache
OpenSSL/1.0.2n@conan/stable: Already installed!
jom_installer/1.1.2@bincrafters/stable: Already installed!
qt/5.6.3@iceyer/stable: Already installed!
dtkcore/2.0.9@iceyer/stable: WARN: Build folder is dirty, removing it: C:\Users\pikachu\.conan\data\dtkcore\2.0.9\iceyer\stable\build\5496cc8a8b992a76e99ebb11aa0d93ea23a97da7
dtkcore/2.0.9@iceyer/stable: Building your package in C:\Users\pikachu\.conan\data\dtkcore\2.0.9\iceyer\stable\build\5496cc8a8b992a76e99ebb11aa0d93ea23a97da7
dtkcore/2.0.9@iceyer/stable: Copying sources to build folder
dtkcore/2.0.9@iceyer/stable: Generator qmake created conanbuildinfo.pri
dtkcore/2.0.9@iceyer/stable: Calling build()
Cannot read C:/Users/pikachu/.conan/data/dtkcore/2.0.9/iceyer/stable/build/5496cc8a8b992a76e99ebb11aa0d93ea23a97da7: ?????
Error processing project file: C:\Users\pikachu\.conan\data\dtkcore\2.0.9\iceyer\stable\build\5496cc8a8b992a76e99ebb11aa0d93ea23a97da7
dtkcore/2.0.9@iceyer/stable:
dtkcore/2.0.9@iceyer/stable: ERROR: Package '5496cc8a8b992a76e99ebb11aa0d93ea23a97da7' build failed
dtkcore/2.0.9@iceyer/stable: WARN: Build folder C:\Users\pikachu\.conan\data\dtkcore\2.0.9\iceyer\stable\build\5496cc8a8b992a76e99ebb11aa0d93ea23a97da7
ERROR: dtkcore/2.0.9@iceyer/stable: Error in build() method, line 47
self.run(command)
ConanException: Error 3 while executing qmake -r VERSION=2.0.9 CONFIG+=release PREFIX=C:\Users\pikachu\.conan\data\dtkcore\2.0.9\iceyer\stable\build\5496cc8a8b992a76e99ebb11aa0d93ea23a97da7 MKSPECS_INSTALL_DIR=C:\Users\pikachu\.conan\data\dtkcore\2.0.9\iceyer\stable\build\5496cc8a8b992a76e99ebb11aa0d93ea23a97da7/mkspecs DTK_STATIC_LIB=YES DTK_STATIC_TRANSLATION=YES DTK_NO_MULTIMEDIA=YES C:\Users\pikachu\.conan\data\dtkcore\2.0.9\iceyer\stable\build\5496cc8a8b992a76e99ebb11aa0d93ea23a97da7
/usr/include/libdtk-2.0/DCore/dtkcore_global.h:26:25: error: ‘Dtk::Core’ has not been declared
#define DCORE_NAMESPACE Core
^
/usr/include/libdtk-2.0/DCore/dtkcore_global.h:27:43: note: in expansion of macro ‘DCORE_NAMESPACE’
#define DTK_CORE_NAMESPACE DTK_NAMESPACE::DCORE_NAMESPACE
^~~~~~~~~~~~~~~
/usr/include/libdtk-2.0/DWidget/dabstractdialog.h:27:48: note: in expansion of macro ‘DTK_CORE_NAMESPACE’
class DAbstractDialog : public QDialog, public DTK_CORE_NAMESPACE::DObject
^~~~~~~~~~~~~~~~~~
ddcifile.zh_CN.dox
2022/12/31
[] New documents
[] Standardized documents
[] Internationalization of documents
[x] Example documents
dsettingsdconfigbackend.zh_CN.dox
2022/12/3
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
settings/backend/gsettingsbackend.cpp:8:33: fatal error: QGSettings/QGSettings: 没有那个文件或目录
xmake is an amazing build system, and with the existing cmake support, we can also explore support for xmake
When I build in linux(qt5.6 and 5/9) i have this error
dfilewatcher.cpp:95: error: no matching function for call to ‘Dtk::Core::DFileWatcher::connect(QGlobalStatic<Dtk::Core::DFileSystemWatcher, (* Dtk::Core::{anonymous}::Q_QGS_watcher_file_private::innerFunction), (* & Dtk::Core::{anonymous}::Q_QGS_watcher_file_private::guard)>&, void (Dtk::Core::DFileSystemWatcher::*)(const QString&, const QString&, Dtk::Core::DFileSystemWatcher::QPrivateSignal), Dtk::Core::DFileWatcher* const&, void (Dtk::Core::DFileWatcher::*)(const QString&, const QString&))’
q, &DFileWatcher::onFileDeleted);
But if build with Windows and minGW this doesn't have error
Path: [class file path]
Interface:
void RollingFileAppender::setDatePattern(DatePattern datePattern)
void RollingFileAppender::setDatePattern(const QString &datePattern)
See #280
Hi,
following error while trying to make
the package
../../src/log/LogManager.cpp: In constructor ‘Dtk::Core::DLogManager::DLogManager()’:
../../src/log/LogManager.cpp:33:25: error: ‘QStandardPaths’ has not been declared
QString cachePath = QStandardPaths::standardLocations(QStandardPaths::CacheLocation).at(0);
^~~~~~~~~~~~~~
../../src/log/LogManager.cpp:33:59: error: ‘QStandardPaths’ has not been declared
QString cachePath = QStandardPaths::standardLocations(QStandardPaths::CacheLocation).at(0);
^~~~~~~~~~~~~~
Makefile:396: recipe for target 'LogManager.o' failed
make[1]: *** [LogManager.o] Error 1
make[1]: Leaving directory '/media/muz/srcRepo/src/deepin/dtkcore-master/dtkcore-master/build/src'
Makefile:40: recipe for target 'sub-src-make_default-ordered' failed
make: *** [sub-src-make_default-ordered] Error 2
dconfigfile.zh_CN.dox
2022/12/21
[] New documents
[] Standardized documents
[] Internationalization of documents
How do I compile a static build of it? @Iceyer @felixonmars @leaeasy @manateelazycat @sonald
这次又有奇妙的事情出现了:
我用release里的最新源码,编译dde-dock的时候缺一个dtkcore-dev提供的东西(就是我在dde-dock的issue里说的那个问题),而且编译出的dtkcore的deb文件名上写的版本是2.0.8但实际上更高
用tag里的最新源码,编译出来的包,不能成功编译dtkwidget了:
'
g++ -c -pipe -g -O2 -fdebug-prefix-map=/home/redbear/dde/dtkwidget=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++11 -pthread -Wall -W -D_REENTRANT -fPIC -DSN_API_NOT_YET_FROZEN -DQT_MESSAGELOGCONTEXT -DLIBDTKWIDGET_LIBRARY -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_GUI_LIB -DQT_DBUS_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -I. -Iutil -Iwidgets/private/keyboardmonitor -Iwidgets/private/startupnotifications -Iwidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QGSettings -isystem /usr/include/librsvg-2.0 -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/uuid -isystem /usr/include/freetype2 -isystem /usr/include/libpng16 -isystem /usr/include/libdframeworkdbus-2.0 -isystem /usr/include/startup-notification-1.0 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtMultimediaWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtMultimedia -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets/5.11.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets/5.11.3/QtWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.11.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.11.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtX11Extras -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/libdtk-2.0.8/DCore -isystem /usr/include/aarch64-linux-gnu/qt5/QtDBus -isystem /usr/include/aarch64-linux-gnu/qt5/QtXml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtConcurrent -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.11.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.11.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o dbaseexpand.o widgets/dbaseexpand.cpp
widgets/dapplication.cpp: In member function ‘bool Dtk::Widget::DApplicationPrivate::loadDtkTranslator(QList<QLocale>)’:
widgets/dapplication.cpp:232:25: error: ‘DWIDGET_TRANSLATIONS_DIR’ was not declared in this scope
232 | auto dtkwidgetDir = DWIDGET_TRANSLATIONS_DIR;
| ^~~~~~~~~~~~~~~~~~~~~~~~
'
"救救孩子吧!(绝望)"
edit my maintainer: 请使用 ```
😂
cd src/ && /home/zhizhong/qt5.12.3_release_installed/bin/qmake -o Makefile /home/zhizhong/dtkcore/src/src.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
Project ERROR: check dtk version failed
make: *** [/home/zhizhong/build-dtkcore-qt5_12_3_release-Debug/Makefile:43:sub-src-qmake_all] 错误 3
dsettingsgroup.zh_CN.dox
2022/12/2
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
dconfigfile.zh_CN.dox
2022/12/8
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
桌面环境变量设置为 DDE
时能识别为 deepin 环境,可能包含的地方
dconfig.zh_CN.dox
2022/12/15
[] New documents
[] Standardized documents
[] Internationalization of documents
[x] Example documents
我的发行版:debian sid arm64
library like dde-qt-dbus-factory still depend of deepin-qt5config on their last source version.
Please, it will be good to know how such dependency break have or will been managed on related project.
It will be also good to archived other deprecated deepin repos.
Thanks!
Seems the build of dtkcore require gsettings-qt.
I search it and found several gsettings-qt packages, such as:
https://github.com/lirios/qtgsettings
which gsettings-qt is required by dtkcore ?
详见 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924234
我顺便把patch贴在这儿
--- a/src/dtk_module.prf
+++ b/src/dtk_module.prf
@@ -97,11 +97,10 @@ MODULE_PRI_CONT += \
write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.")
-QT_HOST_DATA=$$system(qmake -query QT_HOST_DATA)
qt_module.files = $$MODULE_PRI
isEmpty(MKSPECS_INSTALL_DIR) {
- MKSPECS_INSTALL_DIR=$${QT_HOST_DATA}/mkspecs
+ MKSPECS_INSTALL_DIR=$$[QT_HOST_DATA]/mkspecs
}
qt_module.path = $${MKSPECS_INSTALL_DIR}/modules
--- a/src/src.pro
+++ b/src/src.pro
@@ -104,7 +104,7 @@ include(dtk_module.prf)
prf.files+= $$PWD/*.prf
isEmpty(MKSPECS_INSTALL_DIR) {
- MKSPECS_INSTALL_DIR=$${QT_HOST_DATA}/mkspecs
+ MKSPECS_INSTALL_DIR=$$[QT_HOST_DATA]/mkspecs
}
prf.path = $${MKSPECS_INSTALL_DIR}/features
spdlog 是更加流行的速度更快的log库,可以考虑使用这个log库
另外建议使用qInstallMessageHandler而不是使用宏重定向,这样可以打印出所有的日志包括qml的日志
spdlog本身自带所有功能,可以替代所有旧的实现。
ddesktopentry.zh_CN.dox
2022/12/14
[] New documents
[] Standardized documents
[] Internationalization of documents
[x] Example documents
index.md
12.5
[x] New documents
[] Standardized documents
[] Internationalization of documents
[] Example documents
Path: [class file path]
Interface:
/home/dtkcore-2.0.7/src/filesystem/dfilewatcher.cpp:113:46: 错误:对‘Dtk::Core::DFileWatcher::connect(QGlobalStatic<Dtk::Core::DFileSystemWatcher, (* Dtk::Core::{anonymous}::Q_QGS_watcher_file_private::innerFunction), (* & Dtk::Core::{anonymous}::Q_QGS_watcher_file_private::guard)>&, void (Dtk::Core::DFileSystemWatcher::)(const QString&, const QString&, Dtk::Core::DFileSystemWatcher::QPrivateSignal), Dtk::Core::DFileWatcher const&, void (Dtk::Core::DFileWatcher::*)(const QString&, const QString&))’的调用没有匹配的函数
q, &DFileWatcher::onFileClosed);
make[1]: *** [dfilewatcher.o] 错误 1
make[1]: 离开目录“/home/dtkcore-2.0.7/build/src”
make: *** [sub-src-make_first-ordered] 错误 2
ddesktopentry.zh_CN.dox
2022/12/8
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
please change debian/changelog
dtkcore (2.0.8) unstable; urgency=medium
全部dox文件
12.2
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
我在src的CMakeLists.txt添加上了,add_definitions(-DD_DSG_APP_DATA_FALLBACK="/var/dsg/appdata")
DConfigCacheImpl类中的globalCacheDir函数下#ifdef D_DSG_APP_DATA_FALLBACK后那段代码能够被成功执行了
如果需要sudo权限才能创建的目录,普通用户执行能够创建吗,我好像并没有找到。请问有什么可以参考的吗?
使用DLogManager注册Appender之后,
DLogManager::registerConsoleAppender();
DLogManager::registerFileAppender();
使用QLoggingCategory输出日志时,会报"No appenders assotiated with category".且使用Category输出的日志内容没有被记录到日志文件中.
日志文件记录中不带"No appenders assotiated with category",且Category输出内容有写入到某个默认日志文件中.
qmake --version
QMake version 3.0
Using Qt version 5.6.1 in /usr/lib/x86_64-linux-gnu
I found that the qmake version on my computer which successfully installed this package is 3.0, so should the qmake version line (line 11) in readme be modified into possibly Qt version?
dsysinfo.zh_CN.dox
2022/12/16
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
The backtrace:
(gdb) bt
#0 0x00007ffff78282f3 in Dtk::Core::DDesktopEntry::rawValue(QString const&, QString const&, QString const&) const () from /usr/lib64/libdtkcore.so.5
linuxdeepin/deepin-movie-reborn#1 0x00007ffff782952f in Dtk::Core::DDesktopEntry::stringValue(QString const&, QString const&, QString const&) const () from /usr/lib64/libdtkcore.so.5
linuxdeepin/deepin-movie-reborn#2 0x00007ffff782c9db in Dtk::Core::DSysInfo::distributionOrgWebsite(Dtk::Core::DSysInfo::OrgType) () from /usr/lib64/libdtkcore.so.5
linuxdeepin/deepin-movie-reborn#3 0x00007ffff7a2a998 in Dtk::Widget::DAboutDialogPrivate::loadDistributionInfo() () from /usr/lib64/libdtkwidget.so.5
linuxdeepin/deepin-movie-reborn#4 0x00007ffff7a2b7f5 in Dtk::Widget::DAboutDialogPrivate::init() ()
from /usr/lib64/libdtkwidget.so.5
linuxdeepin/deepin-movie-reborn#5 0x00007ffff7a32f0e in Dtk::Widget::DAboutDialog::DAboutDialog(QWidget*) ()
from /usr/lib64/libdtkwidget.so.5
linuxdeepin/deepin-movie-reborn#6 0x00007ffff7a5dc28 in Dtk::Widget::DApplication::handleAboutAction() ()
from /usr/lib64/libdtkwidget.so.5
linuxdeepin/deepin-movie-reborn#7 0x00007ffff63a6900 in ?? () from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#8 0x00007ffff72b8f12 in QAction::triggered(bool) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#9 0x00007ffff72bb751 in QAction::activate(QAction::ActionEvent) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#10 0x00007ffff7435aaa in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#11 0x00007ffff743d1e2 in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#12 0x00007ffff72ff35e in QWidget::event(QEvent*) ()
--Type <RET> for more, q to quit, c to continue without paging--
ts.so.5
linuxdeepin/deepin-movie-reborn#13 0x00007ffff72bf50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#14 0x00007ffff72c63fb in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#15 0x00007ffff63702ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#16 0x00007ffff72c5426 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#17 0x00007ffff7317933 in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#18 0x00007ffff731a8ce in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#19 0x00007ffff72bf50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#20 0x00007ffff63702ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#21 0x00007ffff6a73b73 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
linuxdeepin/deepin-movie-reborn#22 0x00007ffff6a49c5c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
linuxdeepin/deepin-movie-reborn#23 0x00007ffff24a7fea in ?? () from /usr/lib64/libQt5XcbQpa.so.5
linuxdeepin/developer-center#1087 0x00007ffff53dde57 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
linuxdeepin/deepin-movie-reborn#25 0x00007ffff53de1d8 in ?? () from /usr/lib64/libglib-2.0.so.0
linuxdeepin/deepin-movie-reborn#26 0x00007ffff53de28f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
linuxdeepin/deepin-movie-reborn#27 0x00007ffff63c783f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#28 0x00007ffff636ecab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#29 0x00007ffff743ac0c in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#30 0x00007ffff743ad3f in QMenu::exec(QPoint const&, QAction*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#31 0x00007ffff7a82d03 in Dtk::Widget::DTitlebar::showMenu() ()
from /usr/lib64/libdtkwidget.so.5
--Type <RET> for more, q to quit, c to continue without paging--
linuxdeepin/deepin-movie-reborn#32 0x00007ffff63a68c6 in ?? () from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#33 0x00007ffff63a68c6 in ?? () from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#34 0x00007ffff73ac3e2 in QAbstractButton::clicked(bool) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#35 0x00007ffff73acd4a in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#36 0x00007ffff73ae69f in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#37 0x00007ffff73ae871 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#38 0x00007ffff72ff35e in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#39 0x00007ffff72bf50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#40 0x00007ffff72c63fb in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#41 0x00007ffff63702ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#42 0x00007ffff72c5426 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#43 0x00007ffff73173c1 in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#44 0x00007ffff731a8ce in ?? () from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#45 0x00007ffff72bf50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
linuxdeepin/deepin-movie-reborn#46 0x00007ffff63702ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#47 0x00007ffff6a73b73 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
linuxdeepin/deepin-movie-reborn#48 0x00007ffff6a49c5c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
linuxdeepin/deepin-movie-reborn#49 0x00007ffff24a7fea in ?? () from /usr/lib64/libQt5XcbQpa.so.5
linuxdeepin/deepin-movie-reborn#50 0x00007ffff53dde57 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
linuxdeepin/deepin-movie-reborn#51 0x00007ffff53de1d8 in ?? () from /usr/lib64/libglib-2.0.so.0
linuxdeepin/deepin-movie-reborn#52 0x00007ffff53de28f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
linuxdeepin/deepin-movie-reborn#53 0x00007ffff63c783f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEvent--Type <RET> for more, q to quit, c to continue without paging--
sFlag>) () from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#54 0x00007ffff636ecab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#55 0x00007ffff6376f20 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
linuxdeepin/deepin-movie-reborn#56 0x000055555560d458 in main (argc=<optimized out>, argv=<optimized out>)
at /usr/src/debug/deepin-music-player-6.0.1.91-32.1.x86_64/music/music-player/main.cpp:227
没有声明为虚函数容易造成内存泄露
析构函数写成virtual的好处:https://blog.csdn.net/heibao111728/article/details/80814313
C++ 单例模式的模板实现:https://zhuanlan.zhihu.com/p/232319083
QAbstractFileEngineHandler
QAbstractFileEngine
QFSFileEngine
are no longer public in Qt. I don't even find their documents.
So dcapfsfileengine.cpp
and related files seem not easy to implement if we can't rely on Qt's classes.
I have another question:
5.15.6
, I can still compile it. However, I don't know from what version it will be unavailable.想给dconfi.h doconfig.cpp编写文档,想知道关于这个文件相关功能的描述
index.zh_CN.md
2023/1/7
[] New documents
[] Standardized documents
[] Internationalization of documents
[x] Example documents
I'm trying to build dtkcore-5.4.10 on OpenBSD-current with gsettings-qt-0.2 and deepin-desktop-base-2019.06.14.
This is the build error: build.log
gsettingsbackend.zh_CN.dox
2022/12/3
[] New documents
[x] Standardized documents
[] Internationalization of documents
[] Example documents
Cannot compile on Ubuntu 14.04:
/home/travis/build/probonopd/dtkcore/src/settings/backend/gsettingsbackend.cpp:8:33: fatal error: QGSettings/QGSettings: No such file or directory
#include <QGSettings/QGSettings>
^
compilation terminated.
make[1]: *** [gsettingsbackend.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/travis/build/probonopd/dtkcore/build/src'
make: *** [sub-src-make_first-ordered] Error 2
The command "make -j$(nproc)" exited with 2.
Build steps:
https://github.com/probonopd/dtkcore/blob/1bfd0936df917dedac67bc85a64dec7f549e3f34/.travis.yml
Build log:
https://travis-ci.com/probonopd/dtkcore/jobs/167408099#L575-L582
cc @rekols
The #include
way we use is not consistent in code.
For example, in header files,
#include <dtkcore_global.h>
and #include "dtkcore_global.h"
are both used.#include <DObject>
and some use #include "dobject.h"
In my opinion,
#include "dobject.h"
, it's more conventional (Because we're implementing a library). But this leads to my question below:Question:
include/DtkCore
is for client code to use or ourselves to use?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.