At 01:31 AM 8/27/2004, you wrote:
>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.


You can do this too with gcc if you extract the objects from the lib.  
Since Yu-Cheng mentioned that the source for these libs isn't available, 
there's not an obvious advantage to converting the static lib to a DLL 
with VC, unless it's available and one is more comfortable with 
it than gcc.  YMMV. ;-)


--
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
838 Washington Street                   (508) 893-9889 - FAX
Holliston, MA 01746                     


--
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/

Reply via email to