X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Message-ID: <4E785F01.9050909@users.sourceforge.net> Date: Tue, 20 Sep 2011 17:38:09 +0800 From: JonY User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080213 Thunderbird/2.0.0.12 Mnenhy/0.7.5.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: compilation fails with Win32 API call References: In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig38EF64AC8ABDF0619F201A25" X-IsSubscribed: yes 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 --------------enig38EF64AC8ABDF0619F201A25 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 9/20/2011 17: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: >=20 > $ 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 >=20 > According to the FAQ [2], I shouldn't even have to include -lkernel32. >=20 > Can someone please tell me what I'm doing wrong? >=20 > Thanks, > Andrew. >=20 > [1] http://msdn.microsoft.com/en-us/library/aa373208(VS.85).aspx > [2] > http://www.cygwin.com/faq/faq.programming.html#faq.programming.win32-api >=20 >=20 Hi, There are a few possible causes. 1) You didn't include windows.h 2) You included it but didn't bump _WIN32_WINNT or equivalent. 3) The declaration is missing from winbase.h --------------enig38EF64AC8ABDF0619F201A25 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (MingW32) iEYEARECAAYFAk54XwEACgkQp56AKe10wHcQ1wCgiUhvfHN/2+moBxAjb1c1AbTX jW8Ani7AvvgEmohWX04xJh+px+XMIIp4 =NzYk -----END PGP SIGNATURE----- --------------enig38EF64AC8ABDF0619F201A25--