This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: compilation fails with Win32 API call
- From: jojelino <jojelino at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 20 Sep 2011 19:15:25 +0900
- Subject: Re: compilation fails with Win32 API call
- References: <bilg77dmpjm2d0bcu3tiqcl2i4cau04lqo@4ax.com>
On 2011-09-20 PM 6:12, Andrew Schulman wrote:
I'm trying to compile a program that calls the win32 function
SetThreadExecutionState, in kernel32.dll [1]. The link step fails:
$ gcc -c nosleep.c
$ gcc -o nosleep nosleep.o -lkernel32
nosleep.o:nosleep.c:(.text+0x1f): undefined reference to
`_SetThreadExecutionState'
nosleep.o:nosleep.c:(.text+0x5c): undefined reference to
`_SetThreadExecutionState'
collect2: ld returned 1 exit status
According to the FAQ [2], I shouldn't even have to include -lkernel32.
Can someone please tell me what I'm doing wrong?
Thanks,
Andrew.
[1] http://msdn.microsoft.com/en-us/library/aa373208(VS.85).aspx
here you are.
http://msdn.microsoft.com/en-us/library/aa383745.aspx
[2]
http://www.cygwin.com/faq/faq.programming.html#faq.programming.win32-api
please define WINVER so that you can get definition what you want
(gcc -E -DWINVER=0x500 - <<EOF
#include <windows.h>
EOF
)|grep SetThreadExecution
now you can see SetThreadExecutionState is defined
--
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