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

Reply via email to