13Fermer15
squalylLe 25/04/2012 à 14:20
dlltool, ou dllwrap ne font pas ça? (pas eu besoin de m'en servir jusqu'a présent)

C:\Documents and Settings\moi>c:\MinGW\gcc4\bin\dllwrap.exe --help
Usage c:\MinGW\gcc4\bin\dllwrap.exe <option(s)> <object-file(s)>
  Generic options:
   @<file>                Read options from <file>
   --quiet, -q            Work quietly
   --verbose, -v          Verbose
   --version              Print dllwrap version
   --implib <outname>     Synonym for --output-lib
  Options for c:\MinGW\gcc4\bin\dllwrap.exe:
   --driver-name <driver> Defaults to "gcc"
   --driver-flags <flags> Override default ld flags
   --dlltool-name <dlltool> Defaults to "dlltool"
   --entry <entry>        Specify alternate DLL entry point
   --image-base <base>    Specify image base address
   --target <machine>     i386-cygwin32 or i386-mingw32
   --dry-run              Show what needs to be run
   --mno-cygwin           Create Mingw DLL
  Options passed to DLLTOOL:
   --machine <machine>
   --output-exp <outname> Generate export file.
   --output-lib <outname> Generate input library.
   --add-indirect         Add dll indirects to export file.
   --dllname <name>       Name of input dll to put into output lib.
   --def <deffile>        Name input .def file
   --output-def <deffile> Name output .def file
   --export-all-symbols     Export all symbols to .def
   --no-export-all-symbols  Only export .drectve symbols
   --exclude-symbols <list> Exclude <list> from .def
   --no-default-excludes    Zap default exclude symbols
   --base-file <basefile> Read linker generated base file
   --no-idata4           Don't generate idata$4 section
   --no-idata5           Don't generate idata$5 section
   -U                     Add underscores to .lib
   -k                     Kill @<n> from exported names
   --add-stdcall-alias    Add aliases without @<n>
   --as <name>            Use <name> for assembler
   --nodelete             Keep temp files.
   --no-leading-underscore  Entrypoint without underscore
   --leading-underscore     Entrypoint with underscore.
  Rest are passed unmodified to the language driver


Report bugs to <http://www.sourceware.org/bugzilla/>

C:\Documents and Settings\moi>c:\MinGW\gcc4\bin\dlltool --help
Usage c:\MinGW\gcc4\bin\dlltool <option(s)> <object-file(s)>
   -m --machine <machine>    Create as DLL for <machine>.  [default: i386]
        possible <machine>: arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb
   -e --output-exp <outname> Generate an export file.
   -l --output-lib <outname> Generate an interface library.
   -y --output-delaylib <outname> Create a delay-import library.
   -a --add-indirect         Add dll indirects to export file.
   -D --dllname <name>       Name of input dll to put into interface lib.
   -d --input-def <deffile>  Name of .def file to be read in.
   -z --output-def <deffile> Name of .def file to be created.
      --export-all-symbols   Export all symbols to .def
      --no-export-all-symbols  Only export listed symbols
      --exclude-symbols <list> Don't export <list>
      --no-default-excludes  Clear default exclude symbols
   -b --base-file <basefile> Read linker generated base file.
   -x --no-idata4            Don't generate idata$4 section.
   -c --no-idata5            Don't generate idata$5 section.
      --use-nul-prefixed-import-tables Use zero prefixed idata$4 and idata$5.
   -U --add-underscore       Add underscores to all symbols in interface library.
      --add-stdcall-underscore Add underscores to stdcall symbols in interface library.
      --no-leading-underscore All symbols shouldn't be prefixed by an underscore.
      --leading-underscore   All symbols should be prefixed by an underscore.
   -k --kill-at              Kill @<n> from exported names.
   -A --add-stdcall-alias    Add aliases without @<n>.
   -p --ext-prefix-alias <prefix> Add aliases with <prefix>.
   -S --as <name>            Use <name> for assembler.
   -f --as-flags <flags>     Pass <flags> to the assembler.
   -C --compat-implib        Create backward compatible import library.
   -n --no-delete            Keep temp files (repeat for extra preservation).
   -t --temp-prefix <prefix> Use <prefix> to construct temp file names.
   -I --identify <implib>    Report the name of the DLL associated with <implib>.
      --identify-strict      Causes --identify to report error when multiple DLLs.
   -v --verbose              Be verbose.
   -V --version              Display the program version.
   -h --help                 Display this information.
   @<file>                   Read options from <file>.
Report bugs to <http://www.sourceware.org/bugzilla/>

OK pour yacc, je pensais que cette histoire était résolue avec des symboles weak qu'on pouvait redéfinir avec des symboles normaux.