delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/11/13/06:44:16

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,TW_HD,TW_LC,TW_LG
X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Philipp Kraus <philipp DOT kraus AT flashpixx DOT de>
Subject: Re: linker error libcygwin
Date: Sun, 13 Nov 2011 12:43:37 +0100
Lines: 76
Message-ID: <j9oah9$trp$1@dough.gmane.org>
References: <8DB56F04-18E5-43C3-8080-05565BA1531D AT flashpixx DOT de> <4EBC3E14 DOT 9060000 AT sbcglobal DOT net> <j9hfb8$638$1 AT dough DOT gmane DOT org> <4EBC730C DOT 4070701 AT sbcglobal DOT net>
Mime-Version: 1.0
User-Agent: Unison/2.1.5
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 2011-11-11 01:57:48 +0100, Greg Chicares said:

> On 2011-11-10 21:22Z, Philipp Kraus wrote:
>> On 2011-11-10 22:11:48 +0100, Greg Chicares said:
>> 
>>> On 2011-11-10 20:39Z, Kraus Philipp wrote:
>>>> 
>>>> undefined reference to `_WinMain AT 16'
>>>> collect2: ld returned 1 exit status
>>> 
>>> Does this thread
>>> http://cygwin.com/ml/cygwin/2011-10/threads.html#00440
>>> contain the answer?
>> 
>> no, sorry.
>> 
>>> If this is a console application, does it have
>>> an implementation of main()?
>> 
>> yes the signature of the main is in this example:
>> int main(int argc, char* argv[])
> 
> Please show the full linker command, and indicate the name of
> the object file that contains main().

The full linker command shows (I split the flags for a better reading):

g++ -o build/target.exe -mconsole -enable-stdcall-fixup -mthread 
examples/other/target.o

-L/usr/local/bin
-L/usr/bin
-L/cygdrive/c/Windows/system32
-L/cygdrive/c/Windows
-L/cygdrive/c/Windows/system32/Wbem
-L/cygdrive/c/Windows/system32/WindowsPowerShell/v1.0
"-L/cygdrive/c/Program Files/TortoiseSVN/bin"
"-L/cygdrive/c/Program Files/Java/jdk1.6.0_29/bin"
-L/cygdrive/c/opt/scons/bin
-L/cygdrive/c/opt/library/atlas/3.9.51/lib
-L/cygdrive/c/opt/library/boost/1.47.0/bin
-L/cygdrive/c/opt/library/boost/1.47.0/lib
-L/cygdrive/c/opt/library/cln/1.3.2/lib
-L/cygdrive/c/opt/library/ginac/1.6.1/lib
-L/cygdrive/c/opt/library/hdf/5-1.8.7/lib
-L/cygdrive/c/opt/library/xml2/2.7.8/bin
-L/cygdrive/c/opt/library/xml2/2.7.8/lib
-L/cygdrive/c/opt/library/jsoncpp/0.5.0/lib

-lboost_system
-lboost_thread
-lboost_iostreams
-lboost_regex
-lboost_program_options
-lboost_exception
-lboost_filesystem
-llapack
-lcblas
-lf77blas
-latlas
-lgfortran
-lhdf5_cpp
-lhdf5

I have tested the same call with another example (only the *.cpp / *.o 
file changes) and it works. The difference is the cpp code, but
a compiler call run's without an error. I don't understand why 
different sources with the same linker command creates different 
results.
The linking process should be deterministic, so the compiled object 
code creates the same linker calls.

Thanks

Phil



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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019