1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-23 10:03:43 +03:00
Rodrigo Pedra Brum 2b039e1275 Add const declarations on implementation files which use them as references
When trying to compile the new Multiple Screens feature released yesterday I got this error on KDE neon:

```bash
[ 83%] Building CXX object app/CMakeFiles/latte-dock.dir/lattedockadaptor.cpp.o
[ 84%] Linking CXX executable ../bin/latte-dock
/usr/bin/ld: CMakeFiles/latte-dock.dir/view/clonedview.cpp.o: in function `Latte::ClonedView::translateToClonesOrder(QList<int> const&)':
clonedview.cpp:(.text+0x1aaa): undefined reference to `Latte::ClonedView::ERRORAPPLETID'
collect2: error: ld returned 1 exit status
make[2]: *** [app/CMakeFiles/latte-dock.dir/build.make:2270: bin/latte-dock] Error 1
make[1]: *** [CMakeFiles/Makefile2:1806: app/CMakeFiles/latte-dock.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
```

After some research I found this StackOverflow answer:

https://stackoverflow.com/a/3026148

Which referenced this FAQ by Bjarne Stroustrup:

https://www.stroustrup.com/bs_faq2.html#in-class

In summary, if a `static const` is initialized in a class, and later is used as a reference in an implementation file, it should also be declared inside the implementation file. The initialization can live only inside the class.

Maybe the compiler used by @mvourlakos has an optimization to overcome such construct.

In my case by adding these two lines I could compile it on KDE neon (after fixing the first error, compilation failed on a second spot).
2022-01-17 15:41:44 +00:00
2021-05-27 15:01:00 +00:00
2021-05-27 15:01:00 +00:00
2021-05-27 15:01:00 +00:00
2022-01-16 22:09:49 +02:00
2022-01-16 22:09:49 +02:00
2018-02-16 14:25:43 +01:00
2021-05-22 14:01:40 +00:00
2018-07-03 22:15:12 +03:00
2022-01-10 15:54:41 +02:00
2022-01-16 22:09:49 +02:00
2016-12-25 18:13:05 -05:00
2019-12-31 15:55:54 +02:00
2021-12-17 10:49:03 +02:00
2017-02-03 13:34:34 -05:00

About

Latte is a dock based on plasma frameworks that provides an elegant and intuitive experience for your tasks and plasmoids. It animates its contents by using parabolic zoom effect and trys to be there only when it is needed.

"Art in Coffee"

Screenshots

Development

Installation

Requirements

We recommend to use at least: Plasma >= 5.18.0 Qt >= 5.15

Minimum requirements:

tools:

 bash

development packages for:

 Qt5Core >= 5.15.0
 Qt5Gui >= 5.15.0
 Qt5Dbus >= 5.15.0

 KF5Plasma >= 5.71.0
 KF5PlasmaQuick >= 5.71.0
 KF5Activities >= 5.71.0
 KF5CoreAddons >= 5.71.0
 KF5GuiAddons >= 5.71.0
 KF5DBusAddons >= 5.71.0
 KF5Declarative >= 5.71.0
 KF5Kirigami2 >= 5.71.0
 KF5Wayland >= 5.71.0
 KF5Package >= 5.71.0
 KF5XmlGui >= 5.71.0
 KF5IconThemes >= 5.71.0
 KF5KIO >= 5.71.0
 KF5I18n >= 5.71.0
 KF5Notifications >= 5.71.0
 KF5NewStuff >= 5.71.0
 KF5Archive >= 5.71.0
 KF5GlobalAccel >= 5.71.0
 KF5Crash >= 5.71.0

  For X11 support:
    KF5WindowSystem >= 5.71.0
    Qt5X11Extras >= 5.7.0
    libxcb
    libxcb-randr
    libxcb-shape
    libSM

From repositories

Ubuntu/Debian

openSUSE

Fedora

Arch Linux

Gentoo

Solus Project

Void Linux

FreeBSD

See the installation instruction for others Linux distribution or development build

Run Latte-Dock

Latte is now ready to be used by executing

latte-dock

or activating Latte Dock from applications menu.

Contributors

Varlesh: Logos and Icons.

Description
Replacement dock for Plasma desktops, providing an elegant and intuitive experience for your tasks and plasmoids
Readme 22 MiB
Languages
C++ 55.1%
QML 41.9%
CMake 1.4%
JavaScript 1%
Latte 0.5%