Thanks Thomas,
I think I'm making some progress. When I tried your first patch, I found
that rather than being undefined, the symbols were multiply defined.
With a bit of experimentation I managed to get rid of this error (though
perhaps not the underlying problem) with the following patch:
--- a/conf/settings.kcfgc
+++ b/conf/settings.kcfgc
@@ -4,7 +4,7 @@
Inherits=SettingsCore
Mutators=true
Singleton=true
-Visibility=OKULARPART_EXPORT
+#Visibility=OKULARPART_EXPORT
IncludeFiles=settings_core.h,okularpart_export.h
SourceIncludeFiles=qdom.h,QStandardPaths
MemberVariables=dpointer
I could then build and install okular successfully, but still can't run
it as it fails to find/load the okularpart plugin. I did what I could
with gdb, and found that the call to d->loader->load() on line 184 of
kpluginloader.cpp fails. But the debugger refused to step into that
function call, and at that point I gave up trying to work out where it
is failing.
Can anyone help me with another pointer?
Thanks,
Jonathan
On 02/03/16 03:33, Thomas Friedrichsmeier wrote:
Hi Jonathan,
sorry for the other mail, hit "Send" early...
On Tue, 1 Mar 2016 09:43:59 +1100
Jonathan Schultz <[email protected]> wrote:
[...]
C:/Users/Jonathan/KF5_emerge/k/download/git/okular/mobile/components/documentitem.cpp:38:
undefined reference to
`_imp___ZN6Okular8Settings8instanceERK7QString'
collect2.exe: error: ld returned 1 exit status
I understand the _imp___ prefix on the undefined identifiers is
connected with dynamic linking. It is also notable that all the
missing identifiers are defined in settings.cpp But beyond that, I'm
struggling to know whether the problem is that the identifiers are
nowhere defined, or the linker is not able to find them. Can anyone
help?
All of these are simply symbols that the linker cannot find (but they
had been declared in some header). Either the corresponding source was
not compiled, or failing to link against a library. In this particular
case, I see that I can get past this using:
diff --git a/mobile/components/CMakeLists.txt
b/mobile/components/CMakeLists.txt index e09326a..d3ba32f 100644
--- a/mobile/components/CMakeLists.txt
+++ b/mobile/components/CMakeLists.txt
@@ -30,6 +30,7 @@ target_link_libraries(okularplugin
Qt5::Xml
Qt5::Svg
okularcore
+ okularpart
KF5::KDELibs4Support
)
Not so sure, whether this is the correct fix, though. My understanding
is that the definitions are in the _generated_ conf/settings.cpp, and
that
kconfig_add_kcfg_files(okular_SRCS
${CMAKE_SOURCE_DIR}/conf/settings.kcfgc )
_should_ have added it. However, I've never dealt with the kconfig
compiler myself.
Also, this does not yet get the build done. Another missing symbol,
later... Anyway, perhaps some of this helps you find a solution.
Regards
Thomas
_______________________________________________
Kde-windows mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-windows
_______________________________________________
Kde-windows mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-windows