[Okular-devel] Review Request 125741: okular: Fix linking with MSVC 2015.

Gleb Popov 6yearold at gmail.com
Sun Oct 25 14:05:33 UTC 2015



> On Oct. 22, 2015, 1:19 a.m., Albert Astals Cid wrote:
> > This is a workaround and will break when i decide to remove it again becuase the include is not needed there, are you sure there isn't a better way to fix it?
> 
> Gleb Popov wrote:
>     Hum. It's possible not to use generated export header, but make this class exported unconditionally:
>     
>     ```
>     #ifdef _MSC_VER
>     #define VIEWERINTERFACE_EXPORT __declspec(dllexport)
>     #else
>     #define VIEWERINTERFACE_EXPORT __attribute__((visibility("default")))
>     #endif
>     
>     class VIEWERINTERFACE_EXPORT ViewerInterface
>     ```
> 
> Albert Astals Cid wrote:
>     in the else branch i'd make more sense to have the current export, no?
>     
>     Also please start to fill in the Branch in the review requests you create, it's confusing knowing if sometimes stuff is for the frameworks branch or for master.

Yes, using OKULARCORE_EXPORT with !MSVC compiler is better idea. Diff updated.

As for setting branch - acknowledged. I'm new to all this stuff, so bear with me for a while.


- Gleb


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125741/#review87233
-----------------------------------------------------------


On Oct. 25, 2015, 5:03 p.m., Gleb Popov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/125741/
> -----------------------------------------------------------
> 
> (Updated Oct. 25, 2015, 5:03 p.m.)
> 
> 
> Review request for Okular.
> 
> 
> Repository: okular
> 
> 
> Description
> -------
> 
> okular/part.cpp includes interfaces/viewerinterface.h and its OKULARCORE_EXPORT macro gets expanded into __declspec(dllimport). This makes VS linker to drop ViewerInterface::~ViewerInterface() definition and to look for it in KF5OkularCore.dll. But this include is never used anywhere in okularcore, hence missing symbol.
> 
> Including interfaces/viewerinterface.h in any of okularcore sources fixes the problem.
> 
> 
> Diffs
> -----
> 
>   interfaces/viewerinterface.h 4f27921 
> 
> Diff: https://git.reviewboard.kde.org/r/125741/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gleb Popov
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20151025/09f390bf/attachment.html>


More information about the Okular-devel mailing list