Page 1 of 1

Construcción de LIB importadas 32 y 64 para los comp. de C

Posted: Mon Dec 16, 2019 2:35 pm
by xmanuel
Abro este hilo porque creo que sería bueno que los que lo tengáis esos procedimientos los compartáis con todos.
Para 32 bit y 64 de los principales compiladores de C:

Bcc32 y Bcc54
Msvc32 y Msvc64
MinGW32 y MinGW64
y otros

:D

Re: Construcción de LIB importadas 32 y 64 para los comp. de C

Posted: Tue Dec 17, 2019 6:16 pm
by Compuin
Para Borland 64
MKEXP.EXE, the 64-bit Windows Import Library Tool for C++
Go Up to Command-Line Utilities Index

MKEXP.EXE is the 64-bit Windows counterpart of IMPLIB.EXE, the Import Library Tool for Win32. However, MKEXP does not support all the same options supported by IMPLIB.

MKEXP produces GNU-style (ELF format) archive files (.a files).

You can use .DLL, .DEF, or OMF files with MKEXP.

Examples
Generating an import library from a DLL:

mkexp mydll.a mydll.dll
Generating an import library from a .DEF file:

mkexp mydll.a mydll.def
The resulting .a files are included in the library section of the link command line for any application or DLL that uses mydll.dll. The .a files that are produced by mkexp are GNU style archive files containing a single object file with an Embarcadero specific set of data to describe all the exports from the DLL.

Command-Line Help
C:> mkexp
mkexp.exe: Copyright (c) 2012 Embarcadero Technologies, Inc.
All rights reserved.

usage: mkexp [-n] [-d] [-o] [-p] outputfile inputfile
Creates an import archive from an input file.
Valid input files are OMF object files that contain only
EXPDEF COMENT records, PE files, and DEF files.

-f: prefer to link by ordinal (dangerous)
-d: assume input is a DEF file
-o: assume input is an OMF object file
-p: assume input is a PE file

File type is by default based on extension:
OMF: .obj
DEF: .def
PE: .dll, .exe

Re: Construcción de LIB importadas 32 y 64 para los comp. de C

Posted: Wed Dec 18, 2019 9:03 am
by xmanuel
Construccion de librerias de importacion

BCC32

Code: Select all

ImpLib LibMySQL.lib LibMySQL.dll
 
BCC64

Code: Select all

mkexp libmysql.a libmysql.dll
 
MSVC32

Code: Select all

call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat"
lib /def:LibMySQL.def /machine:x86 /out:LibMySQL.lib
 
MSVC64

Code: Select all

call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
lib /def:LibMySQL.def /machine:x64 /out:LibMySQL.lib
 
MinGW 32 y 64 (Según entorno activo en el PATH)

Code: Select all

gendef -a libmysql.dll
dlltool -k -d libmysql.def -l libmysql.a
 
Si alguien quiere poner otros compiladores, el hilo sigue abierto
8)