Compiling Error
Closed this issue · 4 comments
从源码编译遇到错误,这怎么解决?
../src/main_window.cpp: In member function ‘void MainWindow::initAttributes()’:
../src/main_window.cpp:133:55: error: ‘class Dtk::Widget::DWindowManagerHelper’ has no member named ‘currentWorkspaceWindowIdList’; did you mean ‘currentWorkspaceWindows’?
for (auto wid : DWindowManagerHelper::instance()->currentWorkspaceWindowIdList()) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
currentWorkspaceWindows
Makefile:581: recipe for target 'main_window.o' failed
make: *** [main_window.o] Error 1
构建环境以及依赖是否装齐了?
假设你使用 Deepin,建议直接通过 apt build-dep deepin-screen-recorder
装齐开发依赖再尝试构建。如果仍有问题,建议先切换到和你仓库同版本的 tag 上再进行构建,成功后再进一步确认问题。
构建环境以及依赖是否装齐了?
假设你使用 Deepin,建议直接通过
apt build-dep deepin-screen-recorder
装齐开发依赖再尝试构建。如果仍有问题,建议先切换到和你仓库同版本的 tag 上再进行构建,成功后再进一步确认问题。
依赖都装齐了,没装齐的话qmake会报错,不会到make这一步了吧。
不过,我不是用的deepin,用的基于Ubuntu的elementary os,我先关闭吧,我找了其他替代软件。谢谢。
依赖都装齐了,没装齐的话qmake会报错,不会到make这一步了吧。
不过,我不是用的deepin,用的基于Ubuntu的elementary os
非 deepin 且非 arch 的话,上面的 dde 组件依赖可能会在用比较旧的版本,代码仓库 master 的代码始终是在用最新的依赖的,有可能是这里的问题。
@freeNestor 我把源码里面for
循环的地方currentWorkspaceWindowIdList
替换currentWorkspaceWindows
然后编译一下就可以了。
for (auto window : DWindowManagerHelper::instance()->currentWorkspaceWindows()) {
if (window->pid() == winId()) continue;
if (window) {
window->deleteLater();
windowRects << Dtk::Wm::WindowRect { window->x(), window->y(), window->width(), window->height() };
windowNames << window->wmClass();
}
}