X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:message-id:in-reply-to:references :subject:mime-version:content-type:content-transfer-encoding; q= dns; s=default; b=EXWeOiOhBRha0OVwq0mMyhqW0RA05Dl2RGFDDy22KsM7rR bRPbZgS/6vK3BSksLcAFfn3oLVO6PQIJeY/pd62BHVD3VeE4p0h5eoa5UgdwLcEX /i/xtD3Afgd4W498L5fj+75GFZpnbIkFhxvd2HUDOL73AI9sPajE4ZNKBhHeM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:message-id:in-reply-to:references :subject:mime-version:content-type:content-transfer-encoding; s= default; bh=+p2ozQYDhNgEdwAyylo1SKBuNQo=; b=Ctb1ZOPdVgK86GN6JElD Ic9CokkaDmpI1UZJVio4zDjJycjTQsIaPdLQ7fcOEtvt3W3k5GqdaRJairA1UaoD 5j1hMCDOoD3YFaczeiWzVbZxaLynJW7FT2Tvoq606MqhtP2HEN4xkZeKdWavoy8E obQJwXq+kHwYQRTYElGnAEs= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.3 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,URI_HEX autolearn=no version=3.3.2 X-HELO: sam.nabble.com Date: Sun, 16 Mar 2014 10:03:12 -0700 (PDT) From: zosrothko To: cygwin AT cygwin DOT com Message-ID: <1394989392389-107147.post@n5.nabble.com> In-Reply-To: References: Subject: Re: g++ linker problem with libcygwin.a MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Hi Here the definition of the cmain.c program, part of libcygwin.a. This code has a "main" entry point which is calling the WinMain by the end.... So the question remains: Why g++/ld links with this "main" entry instead of the one of the user's main program? zos /* libcmain.c Copyright 1996, 1997, 1998, 2000, 2001, 2006, 2009 Red Hat, Inc. This file is part of Cygwin. This software is a copyrighted work licensed under the terms of the Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ #include #define SP " \t\n" /* Allow apps which don't have a main to work, as long as they define WinMain */ int main () { HMODULE x = GetModuleHandle (0); char *s = GetCommandLine (); STARTUPINFO si; char *nexts; s += strspn (s, SP); if (*s != '"') nexts = strpbrk (s, SP); else while ((nexts = strchr (s + 1, '"')) != NULL && nexts[-1] == '\\') s = nexts; if (!nexts) nexts = strchr (s, '\0'); else nexts += strspn (nexts + 1, SP); GetStartupInfo (&si); return WinMain (x, 0, nexts, ((si.dwFlags & STARTF_USESHOWWINDOW) != 0 ? si.wShowWindow : SW_SHOWNORMAL)); } -- View this message in context: http://cygwin.1069669.n5.nabble.com/g-linker-problem-with-libcygwin-a-tp37812p107147.html Sent from the Cygwin list mailing list archive at Nabble.com. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple