This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: convert .lib to .a


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]