105 | | pjlib |
106 | | Base library used by all libraries. |
107 | | pjlib-util |
108 | | Auxiliary library containing scanner, XML, STUN, MD5, getopt, etc, used by the SIP and media stack. |
109 | | pjnath |
110 | | NAT helper library (STUN, TURN, ICE). |
111 | | pjsip |
112 | | SIP core stack library. |
113 | | pjsip-ua |
114 | | SIP user agent library containing INVITE session, call transfer, client registration, etc. |
115 | | pjsip-simple |
116 | | SIP SIMPLE library for base event framework, presence, instant messaging, etc. |
117 | | pjsua |
118 | | High level SIP UA library, combining SIP and media stack into high-level easy to use API. |
119 | | pjmedia |
120 | | The media framework. |
121 | | pjmedia-codec |
122 | | Container library for various codecs such as GSM, Speex, and iLBC. |
123 | | |
124 | | |
125 | | |
126 | | Note: the actual library names will be appended with the target name and the build configuration. For example: |
127 | | |
128 | | For Visual Studio builds |
129 | | |
130 | | The actual library names will look like pjlib-i386-win32-vc6-debug.lib, pjlib-i386-win32-vc6-release.lib, etc., depending on whether we are building the Debug or Release version of the library. |
131 | | |
132 | | An easier way to link with the libraries is to include PJ project files in the workspace, and to configure project dependencies so that the application depends on the PJ libraries. This way, we don't need to manually add each PJ libraries to the input library file specification, since VS will automatically link the dependency libraries with the application. |
133 | | For Windows Mobile builds |
134 | | |
135 | | Unfortunately the PJ libraries built for Windows Mobile will not be placed in the usual lib directory, but rather under the output directory under build/wince-evc4 project directory. |
136 | | |
137 | | An easier way to link with the libraries is to include PJ project files in the workspace, and to configure project dependencies so that the application depends on the PJ libraries. This way, we don't need to manually add each PJ libraries to the input library file specification, since VS will automatically link the dependency libraries with the application. |
138 | | For GNU builds |
139 | | |
140 | | Use the template Makefile below (as described in Building Application using PJSIP with GNU Tools): |
141 | | # Modify this to point to the PJSIP location. |
142 | | PJBASE=/home/myself/pjproject-0.5.10.2 |
143 | | |
144 | | include $(PJBASE)/build.mak |
145 | | |
146 | | CC = $(APP_CC) |
147 | | LDFLAGS = $(APP_LDFLAGS) |
148 | | LDLIBS = $(APP_LDLIBS) |
149 | | CFLAGS = $(APP_CFLAGS) |
150 | | CPPFLAGS= ${CFLAGS} |
151 | | |
152 | | # If your application is in a file named myapp.cpp or myapp.c |
153 | | # this is the line you will need to build the binary. |
154 | | all: myapp |
155 | | |
156 | | myapp: myapp.cpp |
157 | | $(CC) -o $@ $< $(CPPFLAGS) $(LDFLAGS) $(LDLIBS) |
158 | | |
159 | | clean: |
160 | | rm -f myapp.o myapp |
161 | | |
162 | | |
163 | | 6. |
164 | | |
165 | | Link with system spesific libraries: |
166 | | |
167 | | Windows |
168 | | |
169 | | Add (among other things): wsock32.lib, ws2_32.lib, ole32.lib, dsound.lib |
170 | | Linux, *nix, *BSD |
171 | | |
172 | | Add (among other things): '-lpthread -lm' (at least). If you use the template Makefile above, these would have been added by PJ. |
173 | | MacOS X |
174 | | |
175 | | Add (among other things): '-framework CoreAudio -lpthread -lm'. If you use the template Makefile above, these would have been added by PJ. |
176 | | |
| 101 | 6. Link with system specific libraries such as: wsock32.lib, ws2_32.lib, ole32.lib, dsound.lib |
| 102 | |