-
Notifications
You must be signed in to change notification settings - Fork 32
Compile error when using KDBindings in combination with Qt #79
Copy link
Copy link
Closed
Description
Hi!
I wanted to use KSBindings in a project where I also use Qt. At a certain point I needed to include kdbindings/signal.h as well as QObject. This then results in a compile error (on gcc as well as clang). As I investigated further it turned out that the order of includes matter. If KDBindings is included first, it works. If QObject is first then it doesn’t.
I was surprised and wanted to ask if this is a known limitation.
The compile error looks like the following:
[ 9%] Building CXX object CMakeFiles/workshop_episode_001.dir/src/Translator.cpp.o
In file included from src/Translator.cpp:3:
In file included from include/IResourceManager.hpp:3:
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:285:23: error: expected ')'
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:285:18: note: to match this '('
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:285:19: error: declaration of 'Args' shadows template parameter
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:213:22: note: template parameter is declared here
template<typename... Args>
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:285:19: error: field has incomplete type 'void'
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:285:29: error: expected ';' at end of declaration list
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:308:49: error: use of undeclared identifier 'Connection'
mutable Private::GenerationalIndexArray<Connection> m_connections;
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:488:19: error: expected ')'
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:488:14: note: to match this '('
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:488:15: error: declaration of 'Args' shadows template parameter
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:213:22: note: template parameter is declared here
template<typename... Args>
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:488:15: error: field has incomplete type 'void'
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:488:25: error: expected ';' at end of declaration list
void emit(Args... p) const
^
conan_cache/.conan/data/kdbindings/1.0.1/conan_toolchain_catalog/build/package/e7a4df623f2f69d6974a12334b94709d4f79466f/include/kdbindings/signal.h:259:13: error: unknown type name 'Connection'
Connection *connection = m_connections.get(id);
^
10 errors generated.
make[3]: *** [CMakeFiles/workshop_episode_001.dir/build.make:161: CMakeFiles/workshop_episode_001.dir/src/Translator.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:1247: CMakeFiles/workshop_episode_001.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1254: CMakeFiles/workshop_episode_001.dir/rule] Error 2
make: *** [Makefile:712: workshop_episode_001] Error 2
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels