Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On 1 September 2011 21:26, Stephan Bergmann
<stephan.bergmann.secondary@googlemail.com> wrote:
On Sep 1, 2011, at 3:47 PM, Matúš Kukan wrote:
On 1 September 2011 15:14, Jenei Gábor <jengab@elte.hu> wrote:
Hi all,

As I tried to compile vcl module with raised dbglevel I found out the
following error at linking:


/home/LOff/libo/workdir/unxlngi6.pro/CxxObject/vcl/unx/headless/svpgdi.o: In
function `dbgOut(boost::shared_ptr<basebmp::BitmapDevice> const&)':
svpgdi.cxx:(.text._Z6dbgOutRKN5boost10shared_ptrIN7basebmp12BitmapDeviceEEE[dbgOut(boost::shared_ptr<basebmp::BitmapDevice>
const&)]+0x13a): undefined reference to
`basebmp::debugDump(boost::shared_ptr<basebmp::BitmapDevice> const&,
std::basic_ostream<char, std::char_traits<char> >&)'
collect2: ld returned 1 exit status
make: ***
[/home/LOff/libo/workdir/unxlngi6.pro/LinkTarget/Library/libvclplug_svplo.so]
Error 1

As I saw in cpp code this should be ok, so probably basebmp debug.cxx is not
marked for linking in the project. Could someone look at this issue who
knows make files?

That's not about makefiles. debugDump() is not marked for exporting,
you can do this in cxx file with SAL_DLLPUBLIC_EXPORT
or in hxx files. But in hxx you need to use library specific macro defined as in
http://opengrok.libreoffice.org/xref/core/basebmp/inc/basebmp/bitmapdevice.hxx#42
It's more complicated because of error in windows compilers, I think.

I have pushed this one. (
http://cgit.freedesktop.org/libreoffice/core/commit/?id=e21822008dff0c618e8947d7343bc70d51d47ec3
)

You cannot do it that way -- it will not work on Windows.  See 
<http://wiki.services.openoffice.org/wiki/Symbol_Visibility> for details (in short, you need the 
BASEBMP_DLLPUBLIC/BASEBMP_DLLIMPLEMENTATION stuff in the header file if you want to be able to 
link against the function on Windows).

Yeah, tinderbox is complaining.. I did not know I can't do even this.

Will try to remember to prepare a proper patch tomorrow, unless someone beats me to it…

Maybe I will do this today, but if not, thanks for proper patch

Matúš

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.