Changeset 710
- Timestamp:
- Sep 13, 2006 11:02:26 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/README.txt
r707 r710 2 2 3 3 Getting Started: Building and Using PJSIP and PJMEDIA 4 [Last Update: 12/Sept/2006] 5 6 This article describes how to get, build, and use the open source PJSIP and 7 PJMEDIA SIP and media stack. You can get the online (and HTML) version of 8 this file in http://www.pjsip.org/using.htm 9 10 11 If you're so impatient.. 12 13 If you just want to get going quickly (and maybe read this document later), 14 this is what you can do to build the libraries: 4 5 [Last Update: Sept 13, 2006] 6 _________________________________________________________________ 7 8 This article describes how to download, customize, build, and use the open 9 source PJSIP and PJMEDIA SIP and media stack. The online (and HTML) version 10 of this file can be downloaded from http://www.pjsip.org/using.htm 11 12 13 Quick Info 15 14 16 15 Building with GNU tools 17 Just do: 16 Generally these should be all that are needed to build the libraries, 17 applications, and samples: 18 18 19 19 $ ./configure 20 20 $ make dep && make clean && make 21 21 22 Building with Microsoft Visual Studio23 Just follow the followingsteps:22 Building Win32 Target with Microsoft Visual Studio 23 Generally we can just do these steps: 24 24 25 25 1. Open pjsip-apps/build/pjsip_apps.dsw workspace, … … 28 28 29 29 Building for Windows Mobile 30 Just follow the following steps:30 Generally these are all that are needed: 31 31 32 32 1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw EVC4 workspace, … … 34 34 3. build the pjsua_wince application. 35 35 36 With all the build systems, the output libraries will be put in lib37 directory under each projects, and the output binaries will be put in bin38 directory under each projects.36 With Visual Studio for Win32 target and the GNU build systems, the output 37 libraries will be put in lib directory under each projects, and the output 38 binaries will be put in bin directory under each projects. 39 39 40 40 … … 82 82 5.2 Building the Projects 83 83 84 6. Using PJPROJECT with YourApplications84 6. Using PJPROJECT with Applications 85 85 86 86 … … 93 93 1. Getting the Source Code Distribution 94 94 _________________________________________________________________ 95 96 Since all libraries are released under Open Source license, all source code97 are available for your scrutinizing pleasure.98 95 99 96 All libraries (PJLIB, PJLIB-UTIL, PJSIP, PJMEDIA, and PJMEDIA-CODEC) are … … 108 105 Getting the released tarball is a convenient way to obtain stable version of 109 106 PJPROJECT. The tarball may not contain the latest features or bug-fixes, but 110 normally it is considered more stable as itwill be tested more rigorously111 before it isreleased.112 113 You can get the latest released tarballfrom the107 normally it is considered more stable as each will be tested more rigorously 108 before released. 109 110 The latest released tarball can be downloaded from the 114 111 http://www.pjsip.org/download.htm. 115 112 … … 118 115 _________________________________________________________________ 119 116 120 You can always get the most up-to-date version of the sources from the121 Subversion trunk. However, please bear in mind that the sources in the122 Subversion trunk may not be the most stable one. In fact, it may not even123 compile for some particular targets, because of the time lag in the updating124 process for all targets. Please consult the mailing list if you encounter125 suchproblems.126 127 Using Subversion also has benefits of keeping your source up to date with128 the main PJ source tree and to track your changes made to your local copy,129 if any.117 PJPROJECT Subversion repository will always contain the latest/most 118 up-to-date version of the sources. Normally the Subversion repository is 119 always kept in a "good" state. However, there's always a chance that things 120 break and the tree doesn't build correctly (particularly for the 121 "not-so-popular" targets), so please consult the mailing list should there 122 be any problems. 123 124 Using Subversion also has benefits of keeping the local copy of the source 125 up to date with the main PJ source tree and to easily track the changes made 126 to the local copy, if any. 130 127 131 128 132 129 What is Subversion 133 130 134 Subversion is Open Source version control system similar to CVS. Subversion135 homepage is in http://subversion.tigris.org/131 Subversion (SVN) is Open Source version control system similar to CVS. 132 Subversion homepage is in http://subversion.tigris.org/ 136 133 137 134 138 135 Getting Subversion Client 139 136 140 Before you can download the PJ source files from pjsip.org SVN tree, you 141 need to install a Subversion client. You can download binaries from 142 http://subversion.tigris.org/ and follow the instructions there. 143 Subversion clients are available for Windows, Linux, MacOS X, and many more 144 platforms. 137 A Subversion (SVN) client is needed to download the PJ source files from 138 pjsip.org SVN tree. SVN client binaries can be downloaded from 139 http://subversion.tigris.org/, and the program should be available for 140 Windows, Linux, MacOS X, and many more platforms. 145 141 146 142 147 143 Getting the Source for The First Time 148 144 149 Once Subversion client is installed, youcan use these commands to initially145 Once Subversion client is installed, we can use these commands to initially 150 146 retrieve the latest sources from the Subversion trunk: 147 148 151 149 152 150 $ svn co http://svn.pjproject.net/repos/pjproject/trunk pjproject … … 154 152 155 153 156 Keeping Your Local Copy Up-to-Date 157 158 Once you have your local copy of the sources, you will want to keep your 159 local copy up to date by periodically synchronizing your source with the 160 latest revision from the Subversion trunk. The mailing list provides best 161 source of information about the availability of new updates in the trunk. 162 163 You can use these commands to synchronize your copy with the main trunk: 154 Keeping The Local Copy Up-to-Date 155 156 Once sources have been downloaded, we can keep the local copy up to date by 157 periodically synchronizing the local source with the latest revision from 158 the PJ's Subversion trunk. The mailing list provides best source of 159 information about the availability of new updates in the trunk. 160 161 To update the local copy with the latest changes in the main PJ's 162 repository: 163 164 164 165 165 166 $ cd pjproject … … 169 170 Tracking Local and Remote Changes 170 171 171 In general, it is not recommended to keep your local changes (to the library172 source codes) for a long time, because the longer you keep your changes, the173 more chances that your source will be out-of-sync with the main PJ source174 tree (the trunk), because the trunk may be updated to support new features175 or to fix some bugs.176 177 The best way to resolve this is to send your modification back to the178 author, so that he can change the copy in the SVN trunk.179 180 172 To see what files have been changed locally: 173 174 181 175 182 176 $ cd pjproject … … 184 178 185 179 The above command only compares local file against the original local copy, 186 so it doesn't require Internet connection to perform the check. 187 188 To see what files have been changed both locally and remotely: 180 so it doesn't require Internet connection while performing the check. 181 182 To see both what files have been changed locally and what files have been 183 updated in the PJ's Subversion repository: 184 185 189 186 190 187 $ cd pjproject 191 188 $ svn status -u 192 189 193 Note that svn status -u requires Internet connection to the SVN tree. 190 Note that this command requires active Internet connection to query the 191 status of PJPROJECT's source repository. 194 192 195 193 … … 199 197 Top-Level Directory Layout 200 198 201 The top-level directories (denoted as $ PJhere) in the source distribution202 contains the sources of individual libraries:203 204 $ PJ/build199 The top-level directories (denoted as $TOP here) in the source distribution 200 contains the following sub-directories: 201 202 $TOP/build 205 203 Contains makefiles that are common for all projects. 206 204 207 $PJ/pjlib 208 Contains PJLIB header and source files. 209 210 $PJ/pjlib-util 211 Contains PJLIB-UTIL header and source files. 212 213 $PJ/pjmedia 214 Contains PJMEDIA and PJMEDIA-CODEC header and source files. 215 216 $PJ/pjsip 205 $TOP/pjlib 206 Contains header and source files of PJLIB. PJLIB is the base 207 portability and framework library which is used by all other 208 libraries 209 210 $TOP/pjlib-util 211 Contains PJLIB-UTIL header and source files. PJLIB-UTIL is an 212 auxiliary library that contains utility functions such as scanner, 213 XML, STUN, MD5 algorithm, getopt() implementation, etc. 214 215 $TOP/pjmedia 216 Contains PJMEDIA and PJMEDIA-CODEC header and source files. The 217 sources of various codecs (such as GSM, Speex, and iLBC) can be found 218 under this directory. 219 220 $TOP/pjsip 217 221 Contains PJSIP header and source files. 218 222 219 $ PJ/pjsip-apps220 Contains source code for PJSUA and samplesapplications.223 $TOP/pjsip-apps 224 Contains source code for PJSUA and various sample applications. 221 225 222 226 223 227 Individual Directory Inside Each Project 224 228 225 The directories inside each project (for example, inside pjlib, pjmedia, or 226 pjsip) further contains some sub-directories below: 229 Each library directory further contains these sub-directories: 227 230 228 231 bin 229 Contains binaries produced by the build process. The contents of this 230 directory will not get synchronized with the SVN trunk. 232 Contains binaries produced by the build process. 231 233 232 234 build … … 239 241 build/output 240 242 The build/output directory contains the object files and other files 241 generated by the build process. 243 generated by the build process. To support building multiple targets 244 with a single source tree, each build target will occupy a different 245 subdirectory under this directory. 242 246 243 247 build/wince-evc4 … … 245 249 CE/WinCE version of the project using Microsoft Embedded Visual C++ 246 250 4. 251 252 build/wince-evc4/output 253 This directory contains the library, executable, and object files 254 generated by Windows Mobile build process. 247 255 248 256 docs … … 252 260 the HTML files). 253 261 262 (to generate Doxygen documentation from the source tree, just run 263 "doxygen docs/doxygen.cfg" in the individual project directory. The 264 generated files will reside in docs directory). 265 254 266 include 255 267 Contains the header files for the project. … … 268 280 _________________________________________________________________ 269 281 270 Before you can compile and use the libraries, you need to create your 271 config_site.h MANUALLY. 272 273 (Sorry to write in red background, but this question comes out quite often 274 so I thought it's worth to put some punctuation) 275 276 Q: What is config_site.h File 277 278 The pjlib/include/pj/config_site.h contains your local customizations to the 282 The pjlib/include/pj/config_site.h contains local customizations to the 279 283 libraries. 280 284 281 Q: Why do we need config_site.h file 282 283 You should put your customization in this file instead of modifying PJ's 284 files, because if you modify PJ's files, then you will prevent those 285 modified files from being updated next time you synchronize your local copy 286 to the SVN trunk. Or even worse, you may accidently overwrite your local 287 modification with the fresh copy from the SVN. 288 289 Putting your local customization to the config_site.h solves this problem, 290 because this file is not included in the version control. 291 292 Q: What customizations can be put in config_site.h file 293 294 You can put your #define macros in this file. You can find list of 295 configuration macros that you can override by scanning: 285 All customizations should be put in this file instead of modifying PJ's 286 files, because if PJ's files get modified, then those modified files will 287 not be updated the next time the source is synchronized. Or in other case, 288 the local modification may be overwritten with the fresh copy from the SVN. 289 290 Putting the local customization to the config_site.h solves this problem, 291 because this file is not included in the version control, so it will never 292 be overwritten by "svn update" command. 293 294 Please find list of configuration macros that can be overriden from these 295 files: 296 296 * pjlib/config.h file 297 297 * pjmedia/config.h file 298 298 * pjsip/sip_config.h file 299 299 300 You can also see a sample config_site.h filein300 A sample config_site.h file is also available in 301 301 pjlib/include/config_site_sample.h. 302 302 303 Q: How to create config_site.h file 304 305 The simplest way is just to create an empty file. 306 307 Another way to create your config_site.h is to write something like this: 303 304 Creating config_site.h file 305 306 The simplest way is just to create an empty file, to use whetever default 307 values set by the libraries. 308 309 Another way to create the config_site.h file is to write something like the 310 following: 311 308 312 309 313 // Uncomment to get minimum footprint (suitable for 1-2 concurrent calls … … 318 322 _________________________________________________________________ 319 323 320 PJ will need 321 currently about 50-60 MB of disk space to store the source files, and 322 * approximately 30-50 MB of additional space for building each target 323 324 (For example, Visual Studio Debug and Release are considered to be separate 325 targets, so you'll need twice the capacity to build both of them) 324 The building process needs: 325 * about 50-60 MB of disk space to store the uncompressed source files, and 326 * about 30-50 MB of additional space for building each target 327 328 (Visual Studio Debug and Release are considered as separate targets) 326 329 327 330 … … 337 340 * MacOS X (PowerPC), 338 341 * mingw (i386), 339 * *BSD(i386, Opteron, etc.),340 * RTEMS (ARM, powerpc),342 * FreeBSD and maybe other BSD's (i386, Opteron, etc.), 343 * RTEMS with cross compilation (ARM, powerpc), 341 344 * etc. 342 345 … … 345 348 _________________________________________________________________ 346 349 347 To use PJ's GNU build system, you would need the typical GNU tools such as: 348 * GNU Make (other make will not work), 349 * binutils, 350 * gcc, and 351 * sh compatible shell (for autoconf to work) 352 353 On Windows, mingw will work, but cygwin currently doesn't. As usual, your 354 mileage may vary. 350 In order to use PJ's GNU build system, these typical GNU tools are needed: 351 * GNU make (other make will not work), 352 * GNU binutils for the target, and 353 * GNU gcc for the target. 354 355 In addition, the appropriate "SDK" must be installed for the particular 356 target (this could just be a libc and the appropriate system abstraction 357 library such as Posix). 358 359 The build system is known to work on the following hosts: 360 * Linux, many types of distributions. 361 * MacOS X 10.2 362 * mingw (Win2K, XP) 363 * FreeBSD (must use gmake instead of make) 364 365 Building Win32 applications with cygwin is currently not supported (there is 366 some Windows header conflicts), but cross-compilations might just work. 355 367 356 368 … … 360 372 Using Default Settings 361 373 362 Just run configure without anyoptions to let the script detect the374 Run "./configure" without any options to let the script detect the 363 375 appropriate settings for the host: 376 377 364 378 365 379 $ cd pjproject … … 368 382 369 383 Notes: 370 The default settings build the library in "release" mode, with 371 default CFLAGS set to "-O2 -DNDEBUG". 384 The default settings build the libraries in "release" mode, with 385 default CFLAGS set to "-O2 -DNDEBUG". To change the default CFLAGS, 386 we can use the usual "./configure CFLAGS='-g'" construct. 372 387 373 388 Features Customization 374 389 375 390 With the new autoconf based build system, most configuration/customization 376 can be specified as configure arguments. You can get the list of 377 customizable features by running ./configure --help: 391 can be specified as configure arguments. The list of customizable features 392 can be viewed by running "./configure --help" command: 393 394 378 395 379 396 $ cd pjproject … … 394 411 ... 395 412 396 Debug Version and Other Customizations397 398 The configure script accepts standard customization such as the CFLAGS,399 LDFLAGS, etc.413 Configuring Debug Version and Other Customizations 414 415 The configure script accepts standard customization, which details can be 416 obtained by executing ./configure --help. 400 417 401 418 For example, to build the libraries/application in debug mode: 419 420 402 421 403 422 $ ./configure CFLAGS="-g" … … 410 429 (.. to be completed) 411 430 431 432 412 433 $ ./configure --target=powerpc-linux-unknown 413 434 ... … … 419 440 Once the configure script completes successfully, start the build process by 420 441 invoking these commands: 442 443 421 444 422 445 $ cd pjproject … … 425 448 426 449 Note: 427 You may need to call gmake instead of make for your host to invoke 428 GNU make instead of the native make. 450 gmake may need to be specified instead of make for some hosts, to 451 invoke GNU make instead of the native make. 452 429 453 430 454 Description of all make targets supported by the Makefile's: 431 455 432 456 all 433 The default (or first) maketarget to build the libraries/binaries.457 The default (or first) target to build the libraries/binaries. 434 458 435 459 dep, depend … … 437 461 438 462 clean 439 Clean the object files, but keep the output library/binary files440 intact.463 Clean the object files for current target, but keep the output 464 library/binary files intact. 441 465 442 466 distclean, realclean 443 Clean all generated files(object, libraries, binaries, and444 dependency files) .467 Remove all generated files (object, libraries, binaries, and 468 dependency files) for current target. 445 469 446 470 447 471 Note: 448 You can run make in the top-level PJ directory or in build directory449 under each project to build only the particular project.472 make can be invoked either in the top-level PJ directory or in build 473 directory under each project to build only the particular project. 450 474 451 475 … … 456 480 _________________________________________________________________ 457 481 458 In order to build the projects using Microsoft Visual Studio, you need to459 have one of thefollowing:482 The Microsoft Visual Studio based project files can be used with one of the 483 following: 460 484 461 485 * Microsoft Visual Studio 6, 462 486 * Microsoft Visual Studio .NET 2002, 463 487 * Microsoft Visual Studio .NET 2003, 464 * Microsoft Visual StudioExpress 2005 with Platform SDK and DirectX SDK,465 466 For the host, you need:467 * Windows NT, 2000, XP, 2003, or later (it may work on Windows 95 or 98,468 but this has not been tested),469 * Sufficient amount of RAM for the build process ,488 * Microsoft Visual C++ Express 2005 with Platform SDK and DirectX SDK, 489 490 For the host, the following are required: 491 * Windows NT, 2000, XP, 2003, or later , 492 * Windows 95/98 should work too, but this has not been tested, 493 * Sufficient amount of RAM for the build process. 470 494 471 495 … … 476 500 Studio: 477 501 1. Open Visual Studio 6 workspace file pjsip-apps/build/pjsip_apps.dsw. If 478 you're using later version of Visual Studio, it should convert the502 later version of Visual Studio is being used, it should convert the 479 503 workspace file and project files into the new formats. 480 504 2. Set pjsua as Active Project. … … 509 533 2. Set sample_debug project as Active Project 510 534 3. Edit debug.c file inside this project. 511 4. Modify the #include line to include the particular sample application 512 you want todebug535 4. Modify the #include line to include the particular sample application to 536 debug 513 537 5. Select Debug build. 514 538 6. Build and debug the project. … … 525 549 _________________________________________________________________ 526 550 527 You will need the following to build SIP and media components for Windows528 Mobile:551 One of the following development tools is needed to build SIP and media 552 components for Windows Mobile: 529 553 * Microsoft Embedded Visual C++ 4 with appropriate SDKs, or 530 554 * Microsoft Visual Studio 2005 for Windows Mobile with appropriate SDKs. 531 555 532 556 Note that VS2005 is not directly supported (as I don't have the tools), but 533 it is reported to work ( and I assumed that VS2005 for Windows Mobile can534 importEVC4 workspace file).557 it is reported to work (I assumed that VS2005 for Windows Mobile can import 558 EVC4 workspace file). 535 559 536 560 5.2 Building the Projects … … 541 565 application: 542 566 1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw workspace file. If 543 you're using later version of EVC4 this may cause the workspace file to544 be converted to the current version of your Visual Studio.567 later version of EVC4 is being used, this may cause the workspace file 568 to be converted to the appropriate format. 545 569 2. Select pjsua_wince project as the Active Project. 546 570 3. Select the appropriate SDK (for example Pocket PC 2003 SDK or SmartPhone 547 571 2003 SDK) 548 572 4. Select the appropriate configuration (for example, Win32 (WCE Emulator 549 Debug) if you plan to debug the program in emulator) 573 Debug) to debug the program in emulator, or other configurations such as 574 ARMV4, MIPS, SH3, SH4, or whatever suitable for the device) 550 575 5. Select the appropriate device (Emulator or the actual Device). 551 576 6. Build the project. This will build the sample WinCE application and all … … 553 578 554 579 Notes 555 If your config_site.h includes config_site_sample.h file, then 556 there are certain configuration in config_site_sample.h that get 557 activated for Windows CE targets. 558 559 560 6. Using PJPROJECT with Your Applications 561 _________________________________________________________________ 562 563 Regardless if you use Visual Studio or GNU build systems or other tools, in 564 order to build your application to use PJSIP and PJMEDIA SIP and media 565 stack, you need to configure your build tools as follows: 566 1. Put these include directories in your include search path: 580 581 + If the config_site.h includes config_site_sample.h file, then 582 there are certain configuration in config_site_sample.h that get 583 activated for Windows CE targets. Please make sure that these 584 configurations are suitable for the application. 585 + The libraries, binaries and object files produced by the build 586 process are located under build/wince-evc4/output directory of each 587 projects. 588 589 590 6. Using PJPROJECT with Applications 591 _________________________________________________________________ 592 593 Regardless of the build system being used, the following tasks are normally 594 needed to be done in order to build application to use PJSIP and PJMEDIA: 595 1. Put these include directories in the include search path: 567 596 + pjlib/include 568 597 + pjlib-util/include 569 598 + pjmedia/include 570 599 + pjsip/include 571 2. Put these library directories in yourlibrary search path:600 2. Put these library directories in the library search path: 572 601 + pjlib/lib 573 602 + pjlib-util/lib 574 603 + pjmedia/lib 575 604 + pjsip/lib 576 3. Include the relevant PJ header files in your application source file.577 Forexample, using these would include ALL APIs exported by PJ:605 3. Include the relevant PJ header files in the application source file. For 606 example, using these would include ALL APIs exported by PJ: 578 607 579 608 #include <pjlib.h> … … 588 617 header files should be included to get the declaration of the APIs). 589 618 4. Declare the OS macros. 590 + For Windows applications built with Visual Studio, youneed to591 declare PJ_WIN32=1 macro in yourproject settings (declaring the592 macro in yoursource file may not be sufficient).593 + For Windows Mobile applications build with Visual C++, youneed to594 declare PJ_WIN32_WINCE=1 macro in yourproject settings.595 + For GNU build system/autoconf based build system, youneed to596 declare PJ_AUTOCONF=1 macro when compiling yourapplications.619 + For Windows applications built with Visual Studio, we need to 620 declare PJ_WIN32=1 macro in the project settings (declaring the 621 macro in the source file may not be sufficient). 622 + For Windows Mobile applications build with Visual C++, we need to 623 declare PJ_WIN32_WINCE=1 macro in the project settings. 624 + For GNU build system/autoconf based build system, we need to 625 declare PJ_AUTOCONF=1 macro when compiling the applications. 597 626 (Note: the old PJ build system requires declaring the target processor 598 627 with PJ_M_XXX=1 macro, but this has been made obsolete. The target … … 600 629 pjlib/config.h file). 601 630 5. Link with the appropriate PJ libraries. The following libraries will 602 need to be included in yourlibrary link specifications:631 need to be included in the library link specifications: 603 632 604 633 pjlib … … 638 667 The actual library names will look like 639 668 pjlib-i386-win32-vc6-debug.lib, 640 pjlib-i386-win32-vc6-release.lib, etc., depending on whether 641 you build the Debug or Release version of the library. 669 pjlib-i386-win32-vc6-release.lib, etc., depending on whether we 670 are building the Debug or Release version of the library. 671 672 An easier way to link with the libraries is to include PJ 673 project files in the workspace, and to configure project 674 dependencies so that the application depends on the PJ 675 libraries. This way, we don't need to manually add each PJ 676 libraries to the input library file specification, since VS 677 will automatically link the dependency libraries with the 678 application. 679 680 For Windows Mobile builds 681 Unfortunately the PJ libraries built for Windows Mobile will 682 not be placed in the usual lib directory, but rather under the 683 output directory under build/wince-evc4 project directory. 684 685 An easier way to link with the libraries is to include PJ 686 project files in the workspace, and to configure project 687 dependencies so that the application depends on the PJ 688 libraries. This way, we don't need to manually add each PJ 689 libraries to the input library file specification, since VS 690 will automatically link the dependency libraries with the 691 application. 642 692 643 693 For GNU builds 644 You can get the library suffix by including PJ's build.mak file 645 from the root PJ directory (the suffix is contained in 646 TARGET_NAME variable). For example, to link with PJLIB and 647 PJMEDIA, you can use this in syntax your LDFLAGS: 648 "-lpj-$(TARGET_NAME) -lpjmedia-$(TARGET_NAME)" 649 650 Should you encounter any difficulties with using PJ libraries, you can 651 consult the mailing list for some help. 694 Application's Makefile can get the PJ library suffix by 695 including PJ's build.mak file from the root PJ directory (the 696 suffix is contained in TARGET_NAME variable). For example, to 697 link with PJLIB and PJMEDIA, we can use this syntax in the 698 LDFLAGS: "-lpj-$(TARGET_NAME) -lpjmedia-$(TARGET_NAME)" 652 699 653 700 … … 658 705 file or directory 659 706 660 If you encounter this error, then probably you haven't created the 661 config_site.h file. Please follow the Build Preparation instructions 662 above to create this file. 663 664 665 666 667 668 669 670 671 _________________________________________________________________ 672 673 Feedback: 674 Thanks for downloading PJ libraries and for reading this document. If 675 you'd like to comment on anything, send your email to me and I would 676 be delighted to hear them. -benny <bennylp at pjsip dot org> 677 707 This error normally occurs when the config_site.h file has not been created. 708 This file needs to be created manually (an empty file is sufficient). Please 709 follow the Build Preparation instructions above to create this file. 710 711 712 713 714 715 Thanks for using PJ libraries and for reading this document. Please 716 send feedbacks or general comments to <bennylp at pjsip dot org>. 717 718 Benny Prijono 719
Note: See TracChangeset
for help on using the changeset viewer.