Hey,
2013/2/7 José Guilherme Vanz <guilherme.sft@gmail.com>:
Hi
I started work in this bug. I created the first simple source file, just
for
test.
My doubt is, is necessary add my source file in some config file?
In my test I created a object of my thread in the docfile.cxx. Nothing
special...
When I build the module occours the following fail:
[build LNK] Library/libsfxlo.so
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/docfile.o:
In function `SfxMedium::LockOrigFileOnDemand(unsigned char, unsigned
char)':
/home/vanz/gitroot/libo/sfx2/source/doc/docfile.cxx:1188: undefined
reference to `salhelper::Thread::launch()'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/docfile.o:
In function `salhelper::Thread::operator delete(void*)':
/home/vanz/gitroot/libo/solver/unxlngx6.pro/inc/salhelper/thread.hxx:89:
undefined reference to `salhelper::SimpleReferenceObject::operator
delete(void*)'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/docfile.o:
In function `WatchFileThread::WatchFileThread(char const*)':
/home/vanz/gitroot/libo/sfx2/source/doc/watchfilethread.hxx:28: undefined
reference to `salhelper::Thread::Thread(char const*)'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/docfile.o:
In function `WatchFileThread::~WatchFileThread()':
/home/vanz/gitroot/libo/sfx2/source/doc/watchfilethread.hxx:25: undefined
reference to `salhelper::Thread::~Thread()'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/watchfilethread.o:(.data.rel.ro._ZTV15WatchFileThread[_ZTV15WatchFileThread]+0x28)
:
undefined reference to `salhelper::Thread::run()'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/watchfilethread.o:(.data.rel.ro._ZTV15WatchFileThread[_ZTV15WatchFileThread]+0x30)
:
undefined reference to `salhelper::Thread::onTerminated()'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/watchfilethread.o:(.data.rel.ro._ZTV15WatchFileThread[_ZTV15WatchFileThread]+0x80)
:
undefined reference to `non-virtual thunk to salhelper::Thread::run()'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/watchfilethread.o:(.data.rel.ro._ZTV15WatchFileThread[_ZTV15WatchFileThread]+0x88)
:
undefined reference to `non-virtual thunk to
salhelper::Thread::onTerminated()'
/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/CxxObject/sfx2/source/doc/watchfilethread.o:(.data.rel.ro._ZTI15WatchFileThread[_ZTI15WatchFileThread]+0x10)
:
undefined reference to `typeinfo for salhelper::Thread'
collect2: error: ld returned 1 exit status
make[1]: ***
[/home/vanz/gitroot/libo/workdir/
unxlngx6.pro/LinkTarget/Library/libsfxlo.so]
Error 1
make: *** [sfx2] Error 2
What is my error? The build creates a .so of the module ( [build LNK]
Library/libsfxlo.so ) ?
Thank you!
On 4 February 2013 11:35, Michael Stahl <mstahl@redhat.com> wrote:
On 04/02/13 14:30, Jan Holesovsky wrote:
Regarding your question in the bug - LO has its own threading API, you
can use class Thread from sal/inc/osl/thread.hxx
http://cgit.freedesktop.org/libreoffice/core/tree/sal/inc/osl/thread.hxx
You basically want to derive your class SomeGoodNameThread: class
Thread
{}; where you overload the virtual run(); method.
no, you should not derive from osl::Thread but instead from
salhelper::Thread which avoids some pitfalls automatically.
salhelper/inc/salhelper/thread.hxx
You should add salhelper to gb_Library_use_libraries in sfx2/Library_sfx.mk
It seems that sfx2 is not yet depending on salhelper but it looks like
there is no problem in linking against salhelper in sfx2. Since we are
not mentioning salhelper linking fails because it can't find the
symbols. I hope that helps you resolve your problems.
Regards,
Markus
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.