2004-03-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* how-programming.texinfo: Make list in .lib FAQ enumerative.
This commit is contained in:
		| @@ -1,3 +1,7 @@ | |||||||
|  | 2004-03-28  Joshua Daniel Franklin  <joshuadfranklin@yahoo.com> | ||||||
|  |  | ||||||
|  | 	* how-programming.texinfo: Make list in .lib FAQ enumerative.  | ||||||
|  |  | ||||||
| 2004-03-28  Joshua Daniel Franklin  <joshuadfranklin@yahoo.com> | 2004-03-28  Joshua Daniel Franklin  <joshuadfranklin@yahoo.com> | ||||||
|  |  | ||||||
| 	* how-programming.texinfo: Add note about gcc .lib linking. | 	* how-programming.texinfo: Add note about gcc .lib linking. | ||||||
|   | |||||||
| @@ -208,23 +208,27 @@ If your @samp{.lib} file is a normal static or import library with | |||||||
| C-callable entry points, you can list @samp{foo.lib} as an object file for | C-callable entry points, you can list @samp{foo.lib} as an object file for | ||||||
| gcc/g++, just like any @samp{*.o} file. Otherwise, here are some steps: | gcc/g++, just like any @samp{*.o} file. Otherwise, here are some steps: | ||||||
|  |  | ||||||
| 1. Build a C file with a function table.  Put all functions you intend | @enumerate | ||||||
|  | @item Build a C file with a function table.  Put all functions you intend | ||||||
| to use in that table.  This forces the linker to include all the object | to use in that table.  This forces the linker to include all the object | ||||||
| files from the .lib.  Maybe there is an option to force LINK.EXE to | files from the .lib.  Maybe there is an option to force LINK.EXE to | ||||||
| include an object file. | include an object file. | ||||||
| 2. Build a dummy 'LibMain'. | @item Build a dummy 'LibMain'. | ||||||
| 3. Build a .def with all the exports you need. | @item Build a .def with all the exports you need. | ||||||
| 4. Link with your .lib using link.exe. | @item Link with your .lib using link.exe. | ||||||
|  | @end enumerate | ||||||
|  |  | ||||||
| or | or | ||||||
|  |  | ||||||
| 1. Extract all the object files from the .lib using LIB.EXE. | @enumerate | ||||||
| 2. Build a dummy C file referencing all the functions you need, either | @item Extract all the object files from the .lib using LIB.EXE. | ||||||
| with a direct call or through an initialized function pointer. | @item Build a dummy C file referencing all the functions you need, either | ||||||
| 3. Build a dummy LibMain. |       withth a direct call or through an initialized function pointer. | ||||||
| 4. Link all the objects with this file+LibMain. | @item Build a dummy LibMain. | ||||||
| 5. Write a .def. | @item Link all the objects with this file+LibMain. | ||||||
| 6. Link. | @item Write a .def. | ||||||
|  | @item Link. | ||||||
|  | @end enumerate | ||||||
|  |  | ||||||
| You can use these methods to use MSVC (and many other runtime libs) | You can use these methods to use MSVC (and many other runtime libs) | ||||||
| with Cygwin development tools. | with Cygwin development tools. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user