X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_BJ,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Message-ID: <4E507C51.7000200@users.sourceforge.net> Date: Sun, 21 Aug 2011 11:32:33 +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: x86_64-w64-ming32-g++ file not recognized by objdump References: <1313874009 DOT 16574 DOT 15 DOT camel AT asus> <40061A22EBC6455991351C55D9C2FD26 AT desktop2> In-Reply-To: <40061A22EBC6455991351C55D9C2FD26@desktop2> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig87BD1845766AE59D67E4CD24" 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 --------------enig87BD1845766AE59D67E4CD24 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 8/21/2011 10:09, Sisyphus wrote: >=20 > ----- Original Message ----- From: "Thomas D. Dean" >=20 >> #include >> #include >> using namespace std; >> int main() { >> vector vs; >> vs.push_back("asdf"); >> } >> >> If I compile with g++, I get an executable that works, i.e. runs without >> error. This file is recognized by objdump and cygcheck. >> >> If I compile with x86_64-w64-ming32-g++ -m64 t.cc -o t >=20 > I presume the 'ming32' is a typo. > Is the '-m64' necessary ? > What happens if you remove it from the command ? >=20 > I can't reproduce the error you get (either with or without '-m64'), > though I'm just running mingw in the cmd.exe shell - not under Cygwin. >=20 >> the resulting executable produces an error message >>> ./t.exe >> t.exe: error while loading shared libraries: ?: cannot open shared >> object file: no such file or directory. >>> objdump -p ./t.exe >> objdump: ./t.exe: File format not recognized >=20 > I think that's to be expected - objdump expects to look at a 32-bit > executable. > I get the same error when I run objdump on a 64-bit executable. > Try: > x86_64-w64-mingw32-objdump -p ./t.exe >=20 Hi Thomas, you are probably missing the runtime DLLs from path. They should be found in "/usr/x86_64-w64-mingw32/sys-root/mingw/bin". --------------enig87BD1845766AE59D67E4CD24 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) iEYEARECAAYFAk5QfFUACgkQp56AKe10wHcAkwCeLvk51zahwfZ1PJ7i5Vy7v/LA RoUAnj0k3tbGVkzm5+xLAJ8paoEdFNO9 =E521 -----END PGP SIGNATURE----- --------------enig87BD1845766AE59D67E4CD24--