bug?

W. Tasin tasin at e-technik.fh-muenchen.de
Wed Jun 7 01:22:43 BST 2000


Benjamin Meyer wrote:
> 

bug?
no... more a not implemented feature (but all in all it depends on the
point of view)...

> I created a shared lib (folder right click) and then later I went into
> project options and had it include pthread, but on compile it does not
> include pthread in the shared lib.  any idea/workarounds to this?

I guess you need to add a library to your shared lib... right?
Open the Makefile.am of the shared lib directory and add you desired
libraries manually to it.

There you will find the following lines:

-----------------
# add here the libraries which have to be include
# for building the shared lib
#
#  please consider also the usage of the make environment variables
#  like
#  $(LIB_KDEUI), $(LIB_QT), $(LIB_HTML), etc.
#  instead of the hardcoded entries, which have placed
#  in here.
#  The following line is only a suggestion!
#
lib<xxxxxx>_la_LIBADD = 
-----------------

(where <xxxxx> is the name of _your_ shared lib.

There you can add your libraries, which have to be linked against your
shared lib.
like
-----------------
lib<xxxxxx>_la_LIBADD = -lpthread
-----------------

For beginning the project i.e. making it work you simply can add this
command above.
I guess on my system it would work (because on SuSE this library is
called pthread, too. The library can be found at /usr/lib and I guess
this is a library which always contains the desired functionality
inside).

ATTENTION: This is not the perfect way... I donĀ“t know much about the
pthread lib, but
you have to know (for reach a certain platform independance of your
project):
Is it possible that on certain distributions the desired lib has another
name? (maybe "thread" or "pthread_p" instead of pthread?)
Can the library-file (i.e. libpthread) always be found on the standard
lib pathes (e.g. /usr/lib or /opt/kde/lib)
Are there some versions of pthread, which don't support your desired
functionality?


If some systems are using another name for it you have to add
configure.in rules to get the right name. 

If it won't be on a standard lib-path you have to search the path, where
libpthread can be found and add a -L-compiler-switch to your shared
library subproject (for example by adding the path to Makefile.am - you
can get some more info in the FAQ file of KDevelop ... section: adding
cxxflags, ldflags etc)

And if you need a certain version of pthread you should add configure.in
rules to check out if the users system has a proper pthread-lib.
 
But for not scaring you... I guess the first hint (simply adding
-lpthread) is almost enough ;-)

> 
>     -Benjamin Meyer

Ciao

Walter
-- 
The KDevelop project: tasin at kdevelop.de [www.kdevelop.org]
--
oohhh sveglia.... il mondo e' ammalato, ma x colpa di chi.........
(Zucchero)
:-------W. Tasin, FB
04,FHM-------------------PGP-KeyID:0x7961A645----------:
<Key-Fingerprint: 1610 835F 0080 32F4 6140  6CF7 A7D0 44CD 7961A645>




More information about the KDevelop mailing list