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: linker error libcygwin


On 2011-11-13 12:43:37 +0100, Philipp Kraus said:

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

I have checked my sources, but some examples must have this preprocessor part: #if defined(_WIN32) || defined(__CYGWIN__) #include <windows.h> #endif

and some examples must not have this part (same linker / compiler call)



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


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