README.MacOSX
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:6k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. ==============================================================================
  2. Using the Simple DirectMedia Layer with Mac OS X
  3. ==============================================================================
  4. These instructions are for people using Apple's Mac OS X (pronounced
  5. "ten").
  6. From the developer's point of view, OS X is a sort of hybrid Mac and
  7. Unix system, and you have the option of using either traditional
  8. command line tools or Apple's IDE ProjectBuilder (PB).
  9. To build using the command line, use the standard configure and make
  10. process:
  11. ./configure
  12. make
  13. make install
  14. (You may need to create the subdirs of /usr/local manually.)
  15. To use the library once it's built, you essential have two possibilities:
  16. use the traditional autoconf/automake/make method, or use Apple's Project Builder.
  17. ==============================================================================
  18. Using the Simple DirectMedia Layer with a traditional Makefile
  19. ==============================================================================
  20. An existing autoconf/automake build system for your SDL app has good chances
  21. to work almost unchanged on OS X. However, to produce a "real" MacOS X binary
  22. that you can distribute to users, you need to put the generated binary into a
  23. so called "bundle", which basically is a fancy folder with a name like
  24. "MyCoolGame.app".
  25. To get this build automatically, add something like the following rule to
  26. your Makefile.am:
  27. bundle_contents = APP_NAME.app/Contents
  28. APP_NAME_bundle: EXE_NAME
  29. mkdir -p $(bundle_contents)/MacOS
  30. mkdir -p $(bundle_contents)/Resources
  31. echo "APPL????" > $(bundle_contents)/PkgInfo
  32. $(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/
  33. You should replace EXE_NAME with the name of the executable. APP_NAME is what
  34. will be visible to the user in the Finder. Usually it will be the same
  35. as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME 
  36. usually is "TestGame". You might also want to use @PACKAGE@ to use the package
  37. name as specified in your configure.in file.
  38. If your project builds more than one application, you will have to do a bit
  39. more.  For each of your target applications, you need a seperate rule.
  40. If you want the created bundles to be installed, you may want to add this
  41. rule to your Makefile.am:
  42. install-exec-hook: APP_NAME_bundle
  43. rm -rf $(DESTDIR)$(prefix)/Applications/APP_NAME.app
  44. mkdir -p $(DESTDIR)$(prefix)/Applications/
  45. cp -r $< /$(DESTDIR)$(prefix)Applications/
  46. This rule takes the Bundle created by the rule from step 3 and installs them
  47. into $(DESTDIR)$(prefix)/Applications/.
  48. Again, if you want to install multiple applications, you will have to augment
  49. the make rule accordingly.
  50. ==============================================================================
  51. Using the Simple DirectMedia Layer with Project Builder
  52. ==============================================================================
  53. These instructions are for using Apple's Project Builder IDE to build SDL
  54. applications.
  55. - First steps
  56. The first thing to do is to unpack the PBProjects.tar.gz archive in the
  57. top level SDL directory (where the PBProjects.tar.gz archive resides).
  58. Because Stuffit Expander will unpack the archive into a subdirectory,
  59. you should unpack the archive manually from the command line:
  60. cd [path_to_SDL_source]
  61. tar zxf PBProjects.tar.gz
  62. This will create a new folder called PBProjects, which you can browse
  63. normally from the Finder.
  64. - Building the Framework
  65. The SDL Library is packaged as a framework bundle, an organized
  66. relocatable folder heirarchy of executible code, interface headers, 
  67. and additional resources. For practical purposes, you can think of a 
  68. framework as a more user and system-friendly shared library, whose library
  69. file behaves more or less like a standard UNIX shared library.
  70. To build the framework, simply open the framework project and build it. 
  71. By default, the framework bundle "SDL.framework" is installed in 
  72. ~/Library/Frameworks. Therefore, the testers and project stationary expect
  73. it to be located there. However, it will function the same in any of the
  74. following locations:
  75.     ~/Library/Frameworks
  76.     /Local/Library/Frameworks
  77.     /System/Library/Frameworks
  78. - Build Options
  79.     There are two "Build Styles" (See the "Targets" tab) for SDL.
  80.     "Deployment" should be used if you aren't tweaking the SDL library.
  81.     "Development" should be used to debug SDL apps or the library itself.
  82. - Building the Testers
  83.     Open the SDLTest project and build away!
  84. - Using the Project Stationary
  85.     Copy the stationary to the indicated folders to access it from
  86.     the "New Project" and "Add target" menus. What could be easier?
  87. - Setting up a new project by hand
  88.     Some of you won't want to use the Stationary so I'll give some tips:
  89.     * Create a new "Cocoa Application"
  90.     * Add src/main/macosx/SDLMain.m , .h and .nib to your project
  91.     * Remove "main.c" from your project
  92.     * Remove "MainMenu.nib" from your project
  93.     * Add "$(HOME)/Library/Frameworks/SDL.framework/Headers" to include path
  94.     * Add "$(HOME)/Library/Frameworks" to the frameworks search path
  95.     * Add "-framework SDL -framework Foundation -framework AppKit" to "OTHER_LDFLAGS"
  96.     * Set the "Main Nib File" under "Application Settings" to "SDLMain.nib"
  97.     * Add your files
  98.     * Clean and build
  99. - Building from command line
  100.     Use pbxbuild in the same directory as your .pbproj file
  101.          
  102. - Running your app
  103.     You can send command line args to your app by either invoking it from
  104.     the command line (in *.app/Contents/MacOS) or by entering them in the
  105.     "Executibles" panel of the target settings.
  106.     
  107. - Implementation Notes
  108.     Some things that may be of interest about how it all works...
  109.     * Working directory
  110.         As defined in the SDL_main.m file, the working directory of your SDL app
  111.         is by default set to its parent. You may wish to change this to better
  112.         suit your needs.
  113.     * You have a Cocoa App!
  114.         Your SDL app is essentially a Cocoa application. When your app
  115.         starts up and the libraries finish loading, a Cocoa procedure is called,
  116.         which sets up the working directory and calls your main() method.
  117.         You are free to modify your Cocoa app with generally no consequence 
  118.         to SDL. You cannot, however, easily change the SDL window itself.
  119.         Functionality may be added in the future to help this.
  120. Known bugs are listed in the file "BUGS"