If your application uses only Pthreads or uses both Solaris threads and Pthreads, use the following command to compile and link:
cc -mt [ flag ... ] file... [ library... ] -lpthread |
The -mt option links in the libthread library, while the -lpthread option links in the libpthread library. Both flags are needed when using Pthreads because libpthread provides an interface to libthread.
The -mt option can appear anywhere in the command line. The -lpthread option should come after any user libraries. The relative positions of -mt and -lpthread do not matter.
For example, the following lines are equivalent:
cc -mt -o myprog f1.o f2.o -lmylib -lpthread cc -o myprog f1.o f2.o -mt -lmylib -lpthread cc -o myprog f1.o f2.o -lmylib -mt -lpthread cc -o myprog f1.o f2.o -lmylib -lpthread -mt
See the Sun Studio cc(1) man page and Sun Studio 12: C User’s Guide for more information about the cc command options.