convert .lib to .a

Jani tiainen redetin@luukku.com
Fri Aug 27 08:48:00 GMT 2004


Yu-Cheng Chou wrote:

> Hi, Larry:
> 
> I have two c-callable static libs which are created by vc, but the source 
> codes are not available.
> I need these libs to create a shared library using gcc under cygwin.
> 
> Command line:
> 
> gcc -shared -o libmpi.dl 
> mpi_chdl.o ../../src/lib/libmpi.a ../../src/lib/liblam.a ../../src/lib/chsd
> k.lib ../../src/lib/ch.lib
> 
> Error message:
> 
> Warning: .drectve '/DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" /EXPORT:___b
> uiltin_Ch_VaArg ' unrecognized
> Cannot export .idata$4: symbol not found
> Cannot export .idata$5: symbol not found
> Cannot export .idata$6: symbol not found
> Cannot export .text: symbol not found
> Cannot export ⌂ch_NULL_THUNK_DATA: symbol not found
> collect2: ld returned 1 exit status
> make: *** [libmpi.dl] Error 1
> 
> Have any idea to fix this problem?

AFAIK, you can't do that in that way.

First, you have to build shared library (DLL in terms of Windoze), with 
VC. Then you can export API calls to .def and create .a from there on. 
Well of course you can generate .def from VC compilation and then 
generate .a lib. But this applies only to shared libs.

To my knowledge it's not possible to do this with static libs.

-- 

Jani Tiainen




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list