[EMAIL PROTECTED] writes:

> Using sem_open, sem_close, sem_post and sem_wait in my c++ file.
> compiled using command below:

This command line is almost completely bogus:

> g++ -g -I/opt/sfw/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/include -L
> /usr/lib/ -B /usr/lib/sparcv9/libpthread.so hello.cpp -o hello

1. The '-I/opt/sfw/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/include'
   is unnecessary because 'gcc' (assuming it is 2.95.3) will add it
   automatically.

1a. The '-L /usr/lib' is also unneccessary, since linker will look
    there by default.

2. The '-B' means somethig else to 'gcc' as well.

3. System libraries should follow your sources/objects/libraries
   on the link line.

4. You are trying to link 32-bit hello.o against 64-bit libpthread.so

Try this:

  g++ -g -pthreads hello.cpp -o hello -lrt

> May I know what is wrong?

Just about everything on your 

> and how can I find out which library are all
> these semaphore functions in?

$ /usr/ccs/bin/nm -pA /usr/lib/lib*.so | grep sem_open
/usr/lib/libposix4.so: 0000018648 T _sem_open
/usr/lib/libposix4.so: 0000018648 T sem_open
/usr/lib/librt.so: 0000018648 T _sem_open
/usr/lib/librt.so: 0000018648 T sem_open

> The man page doesn't help much :(

Yes, it does:

SYNOPSIS
     cc [ flag... ] file... -lrt [ library... ]
                            ^^^^
Cheers,
-- 
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to