Valentin, FLAC 1.2.0 does build and run on Windows XP x64 edition with a couple of small modifications.
I had to make modifications mainly to disable the assembly optimisation (because only NASM in CVS supports Windows x64) and to disable Ogg FLAC support (because I didn't build that library). Haven't done significant testing, except to say that for me the libFLAC++ DLL is working here on x64. I keep meaning to clean it up and write down what I did. Note that I compiled on top of the Microsoft Platform SDK and Microsoft Visual C++ 2005 Express Edition (which doesn't natively support AMD64). Here's the rough steps I followed: * Get FLAC v1.2.0 source code http://flac.sourceforge.net/download.html * Get Visual C++ 2005 Express Edition and SP1 http://msdn2.microsoft.com/en-au/express/aa975050.aspx * Get the Windows Platform SDK as described here http://msdn2.microsoft.com/en-au/express/aa700755.aspx * Fix the following x64 bug (now fixed in CVS) --- src/libFLAC/lpc.c.orig Sun Sep 2 00:13:36 2007 +++ src/libFLAC/lpc.c Sun Sep 2 00:14:01 2007 @@ -569,7 +569,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_ } #else /* fully unrolled version for normal use */ { - unsigned i; + int i; FLAC__int64 sum; FLAC__ASSERT(order > 0); @@ -1099,7 +1099,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 r } #else /* fully unrolled version for normal use */ { - unsigned i; + int i; FLAC__int64 sum; FLAC__ASSERT(order > 0); -- * Open VS2005EE via the "Set Windows XP x64 Build Environment (Retail)" option in the Start Menu. Open VS2005EE from this command prompt (ie, find the vcexpress.exe file and run it). This ensures you get the 64-bit compiler. * Open the FLAC solution file from the FLAC source code. * In all of the projects, change the compiler defines to remove FLAC_HAS_OGG and remove all references to NASM as well, and change the linker's Machine Type from X86 to "Not Set" and add /MACHINE:AMD64 as an additional parameter. * Tell Visual Studio to exclude the .nasm files from the build. * Compile everything, fixing the remaining couple of issues I've forgotten, one of which will be applying this fix: http://support.microsoft.com/kb/894573 For the default buffer overrun protection added by Microsoft, and another will be a small change to another file to remove some inline assembly. This should get you started Joshua King Defence Science and Technology Organisation Email: [EMAIL PROTECTED] IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the Crimes Act 1914. If you have received this email in error, you are requested to contact the sender and delete the email. >-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] On Behalf Of Valentin Zaychenko >Sent: Wednesday, 12 September 2007 2:39 PM >To: [email protected] >Subject: Re: [Flac-dev] FLAC x64? > >Hello! > >As I understand, there is versions of FLAC for Linux x64. Such >question, whether is native x64-86 versions for OS Windows? > >Best regards, Valentin. >_______________________________________________ >Flac-dev mailing list >[email protected] >http://lists.xiph.org/mailman/listinfo/flac-dev > _______________________________________________ Flac-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/flac-dev
