This is the mail archive of the cygwin@cygwin.com 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: Compiling errors with '-mno-cygin' option on Cygwin


Hello everyone,

Is there any way I can call an application(a C application using embedded
Perl) created on Cygwin from Windows(C++, APIs) environment?

Any pointers would be appreciated.

Thank you.

Paul

On Thu, 23 Oct 2003, Igor Pechtchanski wrote:

> Any DLL that comes with the Cygwin perl is going to depend on cygwin1.dll.
> Same goes for any DLL you build without -mno-cygwin.  However, if you call
> these DLLs from Visual Basic, or use -mno-cygwin when compiling, you'll
> end up with the dependence on both msvcrt.dll (because of VB/-mno-cygwin)
> *and* cygwin1.dll (because of the perl DLLs), and that's an explosive
> combination.
>
> If you really need to use Perl with Visual Basic, you might consider a
> Windows-only version of Perl, e.g. ActiveState, and use the DLLs and
> headers from that distribution in your -mno-cygwin build.  However, be
> aware that this puts you completely outside of the realm of Cygwin, and
> any support you get for this will have to come from some other forum.
> 	Igor
>
> On Thu, 23 Oct 2003, Paul Bezzam wrote:
>
> > Thank you for your replies.  But here is my problem:
> >
> > I am trying to make a DLL from a C program that has embedded Perl in it.
> > I successfully created the DLL, and also created a test C client.  The
> > client successfully calls the DLL.  All this is done in Cygwin and without
> > the "-mno-cygwin" option.
> >
> > But, when I try to invoke this DLL from Visual Basic, the application
> > crashes with the error message, "An unhandled Win32 Exception has
> > occurred in VB6.EXE."
> >
> > Thanks.
> >
> > Paul
> >
> > On Thu, 23 Oct 2003, Igor Pechtchanski wrote:
> >
> > > On Thu, 23 Oct 2003, Paul Bezzam wrote:
> > >
> > > > Hello everyone,
> > > >
> > > > I have this issue: I have a C program that uses embedded perl to call a
> > > > Perl subroutine.  This runs successfully when compiled with gcc with
> > > > default options.  But, when I use the -mno-cygwin option, I get errors
> > > > indicating that some include files are not available. (The error messages
> > > > are shown below my signature)
> > > >
> > > > All of this is on Cygwin.  Can anyone please point my mistakes?
> > > >
> > > > Thank you.
> > > > Paul
> > > >
> > > > Below is part of the error message:
> > > >
> > > > $ gcc -c -mno-cygwin mpdll2.c `perl -MExtUtils::Embed -e ccopts -e ldopts`
> > > > Note (probably harmless): No library found for -lcrypt
> > > > Note (probably harmless): No library found for -lutil
> > > > In file included from mpdll2.c:2:
> > > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:613:27: netinet/in.h:
> > > > No such file or directory
> > > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:617:26: arpa/inet.h:
> > > > No such file or directory
> > > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:663:27: sys/times.h:
> > > > No such file or directory
> > > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:782:30: sys/ioctl.h:
> > > > No such file or directory
> > > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:1193:23: ieeefp.h: No
> > > > such file or directory
> > > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:1984:21: win32.h: No
> > > > such file or directory
> > > > In file included from
> > > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:2215,
> > > >                  from mpdll2.c:2:
> > >
> > > Paul,
> > >
> > > When you give the -mno-cygwin flag to gcc, you're invoking the MinGW
> > > runtime/environment.  MinGW stands for "Minimalist GNU for Windows" (the
> > > keyword here is "Minimalist").  It doesn't supply all of POSIX emulation,
> > > and it's very likely that some of the headers (and system calls) aren't
> > > available in it.
> > >
> > > You will most likely have to implement a lot of the functionality using
> > > Windows native calls (e.g. winsock, etc).  It also looks like you're
> > > pulling in the Cygwin versions of perl headers - while not an error in
> > > itself, this might be a warning flag, since Cygwin and MinGW runtimes
> > > usually don't mix well.
> > >       Igor
>
> --
> 				http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_		pechtcha@cs.nyu.edu
> ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
>      |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
>     '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
>
> "I have since come to realize that being between your mentor and his route
> to the bathroom is a major career booster."  -- Patrick Naughton
>
> --
> 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/
>
>

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