Bug 386866

Summary: Linking error with cantor_plot3dassistant makes it uncompilable under Windows
Product: [Applications] cantor Reporter: uwestoehr <uwestoehr>
Component: generalAssignee: Filipe Saraiva <filipe>
Status: RESOLVED FIXED    
Severity: grave CC: alexanderrieder, warquark
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description uwestoehr 2017-11-13 20:54:09 UTC
Using MSVC 2015 and today's master of cantor I get this linking error:

[60/235] Linking CXX shared module bin\cantor_plot3dassistant.dll
FAILED: bin/cantor_plot3dassistant.dll
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll --intdir=src\assistants\plot3d\CMakeFiles\cantor_plot3dassistant.dir --manifests  -- C:\PR85A6~1\MSVC2015\VC\bin\amd64\link.exe /nologo src\assistants\plot3d\CMakeFiles\cantor_plot3dassistant.dir\plot3dassistant.cpp.obj src\assistants\plot3d\CMakeFiles\cantor_plot3dassistant.dir\cantor_plot3dassistant_autogen\mocs_compilation.cpp.obj  /out:bin\cantor_plot3dassistant.dll /implib:lib\cantor_plot3dassistant.lib /pdb:bin\cantor_plot3dassistant.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO  lib\cantorlibs.lib R:\\lib\KF5
KIOFileWidgets.lib R:\\lib\KF5Bookmarks.lib R:\\lib\KF5Solid.lib R:\\lib\KF5KIOWidgets.lib R:\\lib\KF5KIOCore.lib R:\\li
b\KF5JobWidgets.lib R:\\lib\KF5XmlGui.lib R:\\lib\KF5Completion.lib R:\\lib\KF5IconThemes.lib R:\\lib\KF5Archive.lib R:\
\lib\KF5ItemViews.lib R:\\lib\KF5Service.lib R:\\lib\KF5ConfigWidgets.lib R:\\lib\KF5ConfigGui.lib R:\\lib\KF5ConfigCore
.lib R:\\lib\KF5I18n.lib R:\\lib\KF5WidgetsAddons.lib R:\\lib\KF5Codecs.lib R:\\lib\KF5Auth.lib R:\\lib\KF5CoreAddons.lib C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\lib\Qt5DBus.lib C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\lib\Qt5Widgets.lib C:\Qt\Qt5.9.2\5.9.2
\msvc2015_64\lib\Qt5Gui.lib C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\lib\Qt5Network.lib C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\lib\Qt5Xml.lib C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\lib\Qt5Core.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib  && cd ."
   Creating library lib\cantor_plot3dassistant.lib and object lib\cantor_plot3dassistant.exp
plot3dassistant.cpp.obj : error LNK2019: unresolved external symbol "public: static struct QMetaObject const Cantor::Ass
istant::staticMetaObject" (?staticMetaObject@Assistant@Cantor@@2UQMetaObject@@B) referenced in function "protected: void
 __cdecl KPluginFactory::registerPlugin<class Plot3dAssistant>(class QString const &,class QObject * (__cdecl*)(class QWidget *,class QObject *,class QList<class QVariant> const &))" (??$registerPlugin@VPlot3dAssistant@@@KPluginFactory@@IEAAXAEBVQString@@P6APEAVQObject@@PEAVQWidget@@PEAV2@AEBV?$QList@VQVariant@@@@@Z@Z)
plot3dassistant.cpp.obj : error LNK2019: unresolved external symbol "public: static struct QMetaObject const Cantor::Backend::staticMetaObject" (?staticMetaObject@Backend@Cantor@@2UQMetaObject@@B) referenced in function "public: static class QString __cdecl Cantor::Backend::tr(char const *,char const *,int)" (?tr@Backend@Cantor@@SA?AVQString@@PEBD0H@Z)
bin\cantor_plot3dassistant.dll : fatal error LNK1120: 2 unresolved externals
LINK failed. with 1120
Comment 1 Nikita Sirgienko 2018-05-20 18:08:07 UTC
The code was refactored, compiles without problem with several used compilers and distributions. Please check again and re-open this ticket if you still have this problem.