ref: 88c602519a55d36a635c3460215907c882f8276b
parent: 78e008ae4a3ee1ba9ef2d0d56959369006b48dc2
author: idigdoug <idigdoug>
date: Sat Feb 12 07:14:52 EST 2011
Update instructions for building SoX using VC2010.
--- a/msvc10/LibSndFile.vcxproj
+++ b/msvc10/LibSndFile.vcxproj
@@ -117,6 +117,7 @@
<ClCompile Include="..\..\libsndfile\src\avr.c" />
<ClCompile Include="..\..\libsndfile\src\broadcast.c" />
<ClCompile Include="..\..\libsndfile\src\caf.c" />
+ <ClCompile Include="..\..\libsndfile\src\chanmap.c" />
<ClCompile Include="..\..\libsndfile\src\chunk.c" />
<ClCompile Include="..\..\libsndfile\src\command.c" />
<ClCompile Include="..\..\libsndfile\src\common.c" />
@@ -130,6 +131,7 @@
<ClCompile Include="..\..\libsndfile\src\g72x.c" />
<ClCompile Include="..\..\libsndfile\src\gsm610.c" />
<ClCompile Include="..\..\libsndfile\src\htk.c" />
+ <ClCompile Include="..\..\libsndfile\src\id3.c" />
<ClCompile Include="..\..\libsndfile\src\ima_adpcm.c" />
<ClCompile Include="..\..\libsndfile\src\ima_oki_adpcm.c" />
<ClCompile Include="..\..\libsndfile\src\interleave.c" />
@@ -160,6 +162,7 @@
<ClCompile Include="..\..\libsndfile\src\w64.c" />
<ClCompile Include="..\..\libsndfile\src\wav.c" />
<ClCompile Include="..\..\libsndfile\src\wav_w64.c" />
+ <ClCompile Include="..\..\libsndfile\src\windows.c" />
<ClCompile Include="..\..\libsndfile\src\wve.c" />
<ClCompile Include="..\..\libsndfile\src\xi.c" />
</ItemGroup>
@@ -207,4 +210,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
--- a/msvc10/LibSoX.vcxproj
+++ b/msvc10/LibSoX.vcxproj
@@ -62,7 +62,6 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointModel>Fast</FloatingPointModel>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
- <OpenMPSupport>true</OpenMPSupport>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
@@ -85,7 +84,6 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointModel>Fast</FloatingPointModel>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
- <OpenMPSupport>true</OpenMPSupport>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
@@ -347,4 +345,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
--- a/msvc10/LibVorbis.vcxproj
+++ b/msvc10/LibVorbis.vcxproj
@@ -67,7 +67,7 @@
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <DisableSpecificWarnings>4554;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -88,7 +88,7 @@
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <DisableSpecificWarnings>4554;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
@@ -139,4 +139,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
--- a/msvc10/LibWavPack.vcxproj
+++ b/msvc10/LibWavPack.vcxproj
@@ -98,6 +98,7 @@
<ClCompile Include="..\..\wavpack\src\float.c" />
<ClCompile Include="..\..\wavpack\src\metadata.c" />
<ClCompile Include="..\..\wavpack\src\pack.c" />
+ <ClCompile Include="..\..\wavpack\src\tags.c" />
<ClCompile Include="..\..\wavpack\src\unpack.c" />
<ClCompile Include="..\..\wavpack\src\unpack3.c" />
<ClCompile Include="..\..\wavpack\src\words.c" />
@@ -112,4 +113,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
--- a/msvc10/LibZLib.vcxproj
+++ b/msvc10/LibZLib.vcxproj
@@ -96,7 +96,6 @@
<ClCompile Include="..\..\zlib\compress.c" />
<ClCompile Include="..\..\zlib\crc32.c" />
<ClCompile Include="..\..\zlib\deflate.c" />
- <ClCompile Include="..\..\zlib\gzio.c" />
<ClCompile Include="..\..\zlib\infback.c" />
<ClCompile Include="..\..\zlib\inffast.c" />
<ClCompile Include="..\..\zlib\inflate.c" />
@@ -121,4 +120,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
--- a/msvc10/LibZLib.vcxproj.filters
+++ b/msvc10/LibZLib.vcxproj.filters
@@ -23,9 +23,6 @@
<ClCompile Include="..\..\zlib\deflate.c">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\..\zlib\gzio.c">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="..\..\zlib\infback.c">
<Filter>Source Files</Filter>
</ClCompile>
@@ -83,4 +80,4 @@
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
--- a/msvc10/Readme.txt
+++ b/msvc10/Readme.txt
@@ -1,12 +1,14 @@
This directory includes hand-crafted project files for building SoX using the
Microsoft Visual C++ 10.0 compilers (available through Visual Studio 2010 or
by downloading the freely-available Microsoft Windows SDK 7.1). The hand-made
-project files may be replaced by expanding CMAKE support in the future, but
+project files may be obsoleted by additional CMAKE support in the future, but
for now, this is the easiest way to build SoX with MS Visual C++.
The resulting sox.exe has support for all SoX features except magic, ffmpeg,
and pulseaudio. LAME (libmp3lame.dll or lame_enc.dll), MAD (libmad.dll or
cygmad-0.dll), libsndfile (libsndfile-1.dll), and AMR support (libamrnb-3.dll,
-libamrwb-3.dll) are loaded at runtime if they are available.
+libamrwb-3.dll) are loaded at runtime if they are available. OpenMP support is
+available only via Visual Studio 2010 Professional (it is not availalble if you
+build SoX via Visual Studio 2010 Express or via the Microsoft Windows SDK).
How to build:
@@ -18,9 +20,10 @@
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en
Be sure to include at least the following features:
- Windows Headers and Libraries\Windows Headers
- Windows Headers and Libraries\x86 Libraries
- Visual C++ Compilers
+ Windows Headers and Libraries - Windows Headers
+ Windows Headers and Libraries - x86 Libraries
+ Windows Native Code Development - Tools
+ Windows Native Code Development - Visual C++ Compilers
2. Check out the SoX CVS code into a directory named sox.
@@ -27,21 +30,21 @@
Extract the source code for the other libraries next to the sox
directory. Remove the version numbers from the directory names.
-- flac-1.2.1.tar.gz extracted into directory flac
- -- lame-398-2.tar.gz extracted into directory lame
+ -- lame-398.4.tar.gz extracted into directory lame
-- libid3tag-0.15.1b.tar.gz extracted into directory libid3tag
- -- libmad-0.15.0b.tar.gz extracted into directory libmad
- -- libogg-1.1.4.tar.gz extracted into directory libogg
- -- libpng-1.2.39-no-config.tar.gz extracted into directory libpng
- -- libsndfile-1.0.20.tar.gz extracted into directory libsndfile
- -- libvorbis-1.2.3.tar.gz extracted into directory libvorbis
+ -- libmad-0.15.1b.tar.gz extracted into directory libmad
+ -- libogg-1.2.2.tar.gz extracted into directory libogg
+ -- libpng-1.2.44-no-config.tar.gz extracted into directory libpng
+ -- libsndfile-1.0.23.tar.gz extracted into directory libsndfile
+ -- libvorbis-1.3.2.tar.gz extracted into directory libvorbis
-- speex-1.2rc1.tar.gz extracted into directory speex
- -- wavpack-4.50.1.tar.gz extracted into directory wavpack
- -- zlib-1.2.3.tar.gz extracted into directory zlib
+ -- wavpack-4.60.1.tar.bz2 extracted into directory wavpack
+ -- zlib-1.2.5.tar.gz extracted into directory zlib
3. If using Visual Studio, open the sox\msvc10\SoX.sln solution in VS2010.
If using the Windows SDK, open a normal command prompt, then run:
- "c:\Program Files\Microsoft SDKs\Windows\v7.1\bin\SetEnv.Cmd" /x86 /Release
+"c:\Program Files\Microsoft SDKs\Windows\v7.1\bin\SetEnv.cmd" /x86 /Release /xp
then CD to the sox\msvc10 folder.
4. If any of the above libraries are not available or not wanted, adjust the
@@ -55,11 +58,15 @@
edit the soxconfig.h file (sox\msvc10\sox\soxconfig.h), and you'll have to
manually remove the entries for the unwanted projects.
-5. If using Visual Studio, build the solution using the GUI.
+5. If using Visual Studio Professional or above and you want OpenMP support,
+ enable it in the project settings for the LibSox and SoX projects
+ (Configuration Properties, C/C++, Language, Open MP Support, set to Yes).
+6. If using Visual Studio, build the solution using the GUI.
+
If using the Windows SDK, run: msbuild SoX.sln
-6. The resulting executable files will be in sox\msvc10\Debug or
+7. The resulting executable files will be in sox\msvc10\Debug or
sox\msvc10\Release. The resulting sox.exe will dynamically link to
libmp3lame.dll, libmad.dll, libsndfile-1.dll, libamrnb-3.dll, and
libamrwb-3.dll if they are available, but will run without them (though the
@@ -82,17 +89,12 @@
are part of the speex codec package. Support for the speex codec may be added
later.
-- The included libsox project enables OpenMP support. You can disable this
- in the libsox project properties under Configuration Properties, C/C++,
- Language, OpenMP support. If you don't disable it, you will need vcomp100.dll
- either installed on your machine or copied into the directory next to
- sox.exe. If you have OpenMP support in your copy of Visual Studio, this file
- can be found here:
+- If you enable Open MP support, you will need vcomp100.dll either installed on
+ your machine or copied into the directory next to sox.exe. If you have Open
+ MP support in your copy of Visual Studio, this file can be found here:
c:\Program Files\Microsoft Visual Studio 10.0\
vc\redist\x86\Microsoft.VC100.OPENMP
-
- Note that some editions of Visual Studio might not include OpenMP support.
- The included projects do not enable SSE2. You can enable this in the project
properties under Configuration Properties, C/C++, Code Generation, Enable
--- a/msvc10/SoX.vcxproj
+++ b/msvc10/SoX.vcxproj
@@ -65,7 +65,6 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointModel>Fast</FloatingPointModel>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
- <OpenMPSupport>true</OpenMPSupport>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
@@ -107,7 +106,6 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointModel>Fast</FloatingPointModel>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
- <OpenMPSupport>true</OpenMPSupport>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
@@ -204,4 +202,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>