Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix QCoroNetwork linking for shared library #63

Closed
jmiturasolutions opened this issue May 6, 2022 · 0 comments
Closed

Fix QCoroNetwork linking for shared library #63

jmiturasolutions opened this issue May 6, 2022 · 0 comments

Comments

@jmiturasolutions
Copy link

WaitSignalHelper defined in qcoroiodevice_p.h is used both in core and in network libraries. When using shared linking option, the build fails with log below. Using MSVC 19.29.30140.0 on Windows 10 and Qt 5.15.1.

[15/15] Linking CXX shared library bin\QCoro5Network.dll FAILED: bin/QCoro5Network.dll lib/QCoro5Network.lib cmd.exe /C "cmd.exe /C "E:\.conan\b280e9\1\bin\cmake.exe -E __create_def E:\.conan\ce448f\1\build_subfolder\source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\.\exports.def E:\.conan\ce448f\1\build_subfolder\source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\.\exports.def.objs && cd E:\.conan\ce448f\1\build_subfolder" && E:\.conan\b280e9\1\bin\cmake.exe -E vs_link_dll --intdir=source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x64\mt.exe --manifests -- C:\PROGRA~2\MIB055~1\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\QCoro5Network_autogen\mocs_compilation.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcoroabstractsocket.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcorolocalsocket.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcoronetworkreply.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcorotcpserver.cpp.obj /out:bin\QCoro5Network.dll /implib:lib\QCoro5Network.lib /pdb:bin\QCoro5Network.pdb /dll /version:0.5 /machine:x64 /debug /INCREMENTAL /DEF:source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\.\exports.def lib\QCoro5Core.lib E:\.conan\4d51e9\1\lib\Qt5Network.lib E:\.conan\4d51e9\1\lib\Qt5Core.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ." LINK Pass 1: command "C:\PROGRA~2\MIB055~1\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\QCoro5Network_autogen\mocs_compilation.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcoroabstractsocket.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcorolocalsocket.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcoronetworkreply.cpp.obj source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\qcorotcpserver.cpp.obj /out:bin\QCoro5Network.dll /implib:lib\QCoro5Network.lib /pdb:bin\QCoro5Network.pdb /dll /version:0.5 /machine:x64 /debug /INCREMENTAL /DEF:source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir\.\exports.def lib\QCoro5Core.lib E:\.conan\4d51e9\1\lib\Qt5Network.lib E:\.conan\4d51e9\1\lib\Qt5Core.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir/intermediate.manifest source_subfolder\qcoro\network\CMakeFiles\QCoro5Network.dir/manifest.res" failed (exit code 1120) with the following output: Creating library lib\QCoro5Network.lib and object lib\QCoro5Network.exp qcoroabstractsocket.cpp.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const QCoro::detail::WaitSignalHelper::staticMetaObject" (?staticMetaObject@WaitSignalHelper@detail@QCoro@@2UQMetaObject@@B) qcorolocalsocket.cpp.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const QCoro::detail::WaitSignalHelper::staticMetaObject" (?staticMetaObject@WaitSignalHelper@detail@QCoro@@2UQMetaObject@@B) qcoronetworkreply.cpp.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const QCoro::detail::WaitSignalHelper::staticMetaObject" (?staticMetaObject@WaitSignalHelper@detail@QCoro@@2UQMetaObject@@B) bin\QCoro5Network.dll : fatal error LNK1120: 1 unresolved externals ninja: build stopped: subcommand failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant