aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorAlexey Rusakov <Kitsune-Ral@users.sf.net>2022-07-08 17:42:07 +0200
committerAlexey Rusakov <Kitsune-Ral@users.sf.net>2022-07-08 17:42:07 +0200
commitb5334cbfc18eddd599164fb255c2cabc6720d77c (patch)
tree63d460f5f2aa130e5d804bd74d33363260f2e414 /README.md
parent8580043a64941e1c1f132737e4b50280ac17812a (diff)
parent3f586005840e012a98e0f300a726b1cbda75e001 (diff)
downloadlibquotient-b5334cbfc18eddd599164fb255c2cabc6720d77c.tar.gz
libquotient-b5334cbfc18eddd599164fb255c2cabc6720d77c.zip
Merge remote-tracking branch 'origin/kitsune/c++20-galore' into dev
Diffstat (limited to 'README.md')
-rw-r--r--README.md41
1 files changed, 32 insertions, 9 deletions
diff --git a/README.md b/README.md
index e0f4596c..8be38b5c 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ your application, as described below.
- CMake 3.16 or newer (from your package management system or
[the official website](https://cmake.org/download/))
- A C++ toolchain with that supports at least some subset of C++20:
- - GCC 10 (Windows, Linux, macOS), Clang 11 (Linux), Apple Clang 12 (macOS)
+ - GCC 11 (Windows, Linux, macOS), Clang 11 (Linux), Apple Clang 12 (macOS)
and Visual Studio 2019 (Windows) are the oldest officially supported.
- Any build system that works with CMake should be fine:
GNU Make and ninja on any platform, NMake and jom on Windows are known to work.
@@ -165,14 +165,37 @@ by setting `Quotient_INSTALL_TESTS` to `OFF`.
#### Building fails
-If `cmake` fails with...
-```
-CMake Warning at CMakeLists.txt:11 (find_package):
- By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
- has asked CMake to find a package configuration file provided by
- "Qt5Widgets", but CMake did not find one.
-```
-...then you need to set the right `-DCMAKE_PREFIX_PATH` variable, see above.
+- If `cmake` fails with
+ ```
+ CMake Warning at CMakeLists.txt:11 (find_package):
+ By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
+ has asked CMake to find a package configuration file provided by
+ "Qt5Widgets", but CMake did not find one.
+ ```
+ then you need to set the right `-DCMAKE_PREFIX_PATH` variable, see above.
+
+- If you use GCC and get an "unknown declarator" compilation error in the file
+`qtconcurrentthreadengine.h` - unfortunately, it is an actual error in Qt 5.15
+sources, see https://bugreports.qt.io/browse/QTBUG-90568 (or
+https://bugreports.qt.io/browse/QTBUG-91909). The Qt company did not make
+an open source release with the fix, therefore:
+
+ - if you're on Linux - try to use Qt from your package management system, as
+ most likely this bug is already fixed in the packages
+ - if you're on Windows, or if you have to use Qt (5.15) from download.qt.io
+ for any other reason, you should apply the fix to Qt sources: locate
+ the file (the GCC error message tells exactly where it is), find the line
+ with the (strange-looking) `ThreadEngineStarter` constructor definition:
+ ```cplusplus
+ ThreadEngineStarter<void>(ThreadEngine<void> \*_threadEngine)
+ ```
+ and remove the template specialisation from the constructor name so that it
+ looks like
+ ```cplusplus
+ ThreadEngineStarter(ThreadEngine<void> \*_threadEngine)
+ ```
+ This will fix your build (and any other build involving QtConcurrent from
+ this installation of Qt - the fix is not specific to Quotient in any way).
#### Logging configuration