Ajout version Release/x64 avec les libraries x64 et tuning de la version Debug

This commit is contained in:
MarcEricMartel
2021-12-10 07:16:43 -05:00
parent 9b56a9b4a5
commit f4ec4816af
2745 changed files with 292873 additions and 8 deletions

View File

@@ -0,0 +1,68 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="04.OverrideFileAccess"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option active_target="1"/>
<Option compiler="0"/>
<Build>
<Target title="Debug">
<Option output="..\..\bin\win32-gcc\04.OverrideFileAccess.exe"/>
<Option working_dir="."/>
<Option object_output="Debug"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
<Compiler>
<Add option="-DWIN32"/>
<Add option="-D_DEBUG"/>
<Add option="-D_CONSOLE"/>
<Add option="-W"/>
<Add option="-O0"/>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add directory="..\..\lib\win32-gcc"/>
</Linker>
</Target>
<Target title="Release">
<Option output="..\..\bin\win32-gcc\04.OverrideFileAccess.exe"/>
<Option working_dir="."/>
<Option object_output="Release"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
<Compiler>
<Add option="-DWIN32"/>
<Add option="-DNDEBUG"/>
<Add option="-D_CONSOLE"/>
<Add option="-W"/>
<Add option="-g"/>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add directory="..\..\lib\win32-gcc"/>
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Os"/>
<Add option="-O1"/>
<Add option="-O"/>
</Compiler>
<Linker>
<Add option="-s"/>
<Add library="..\..\lib\win32-gcc\libirrklang.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="Debug"/>
<Option target="Release"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Windows Desktop
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04.OverrideFileAccess", "04.OverrideFileAccess.vcxproj", "{C9328295-3D0A-446B-8522-6C1B6FC7F4E6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C9328295-3D0A-446B-8522-6C1B6FC7F4E6}.Debug|x64.ActiveCfg = Debug|x64
{C9328295-3D0A-446B-8522-6C1B6FC7F4E6}.Debug|x64.Build.0 = Debug|x64
{C9328295-3D0A-446B-8522-6C1B6FC7F4E6}.Release|x64.ActiveCfg = Release|x64
{C9328295-3D0A-446B-8522-6C1B6FC7F4E6}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C9328295-3D0A-446B-8522-6C1B6FC7F4E6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>../../bin/Winx64-visualStudio/$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>../../bin/Winx64-visualStudio/04.OverrideFileAccess.exe</OutputFile>
<AdditionalLibraryDirectories>../../lib/Winx64-visualStudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)04.OverrideFileAccess.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>../../bin/Winx64-visualStudio/04.OverrideFileAccess.exe</OutputFile>
<AdditionalLibraryDirectories>../../lib/Winx64-visualStudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,245 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 42;
objects = {
/* Begin PBXBuildFile section */
23CDAB110C51F05E003DA087 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23CDAB100C51F05E003DA087 /* main.cpp */; };
23CDAB130C51F082003DA087 /* libirrklang.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 23CDAB120C51F082003DA087 /* libirrklang.dylib */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
8DD76F690486A84900D96B5E /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 8;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
23CDAB100C51F05E003DA087 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
23CDAB120C51F082003DA087 /* libirrklang.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libirrklang.dylib; path = "../../bin/macosx-gcc/libirrklang.dylib"; sourceTree = SOURCE_ROOT; };
8DD76F6C0486A84900D96B5E /* 04.OverrideFileAccess */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = 04.OverrideFileAccess; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8DD76F660486A84900D96B5E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
23CDAB130C51F082003DA087 /* libirrklang.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
08FB7794FE84155DC02AAC07 /* macosx_xcode */ = {
isa = PBXGroup;
children = (
23CDAB120C51F082003DA087 /* libirrklang.dylib */,
08FB7795FE84155DC02AAC07 /* Source */,
C6859E8C029090F304C91782 /* Documentation */,
1AB674ADFE9D54B511CA2CBB /* Products */,
);
name = macosx_xcode;
sourceTree = "<group>";
};
08FB7795FE84155DC02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
23CDAB100C51F05E003DA087 /* main.cpp */,
);
name = Source;
sourceTree = "<group>";
};
1AB674ADFE9D54B511CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8DD76F6C0486A84900D96B5E /* 04.OverrideFileAccess */,
);
name = Products;
sourceTree = "<group>";
};
C6859E8C029090F304C91782 /* Documentation */ = {
isa = PBXGroup;
children = (
);
name = Documentation;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8DD76F620486A84900D96B5E /* macosx_xcode */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "macosx_xcode" */;
buildPhases = (
8DD76F640486A84900D96B5E /* Sources */,
8DD76F660486A84900D96B5E /* Frameworks */,
8DD76F690486A84900D96B5E /* CopyFiles */,
23CDAAE90C51E99B003DA087 /* ShellScript */,
);
buildRules = (
);
dependencies = (
);
name = macosx_xcode;
productInstallPath = "$(HOME)/bin";
productName = macosx_xcode;
productReference = 8DD76F6C0486A84900D96B5E /* 04.OverrideFileAccess */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "04.OverrideFileAccess" */;
compatibilityVersion = "Xcode 2.4";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 08FB7794FE84155DC02AAC07 /* macosx_xcode */;
projectDirPath = "";
projectRoot = "";
targets = (
8DD76F620486A84900D96B5E /* macosx_xcode */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
23CDAAE90C51E99B003DA087 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"$(BUILT_PRODUCTS_DIR)/$(PRODUCT_NAME)",
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "install_name_tool -change /usr/local/lib/libirrklang.dylib @executable_path/libirrklang.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME\"";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8DD76F640486A84900D96B5E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
23CDAB110C51F05E003DA087 /* main.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1DEB923208733DC60010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
INSTALL_PATH = "$(HOME)/bin";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_2)",
);
LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../bin/macosx-gcc\"";
LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../bin/macosx-gcc\"";
PRODUCT_NAME = 04.OverrideFileAccess;
ZERO_LINK = YES;
};
name = Debug;
};
1DEB923308733DC60010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
INSTALL_PATH = "$(HOME)/bin";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
"$(LIBRARY_SEARCH_PATHS_QUOTED_2)",
);
LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../bin/macosx-gcc\"";
LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../bin/macosx-gcc\"";
PRODUCT_NAME = 04.OverrideFileAccess;
};
name = Release;
};
1DEB923608733DC60010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CONFIGURATION_BUILD_DIR = "../../bin/macosx-gcc";
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../../include;
OBJROOT = "../../bin/macosx-gcc";
PREBINDING = NO;
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk";
};
name = Debug;
};
1DEB923708733DC60010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc";
CONFIGURATION_BUILD_DIR = "../../bin/macosx-gcc";
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../../include;
OBJROOT = "../../bin/macosx-gcc";
PREBINDING = NO;
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "macosx_xcode" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB923208733DC60010E9CD /* Debug */,
1DEB923308733DC60010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "04.OverrideFileAccess" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB923608733DC60010E9CD /* Debug */,
1DEB923708733DC60010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}

View File

@@ -0,0 +1,8 @@
CPP = g++
OPTS = -I"../../include" -L"/usr/lib" ../../bin/linux-gcc-64/libIrrKlang.so -pthread
all:
$(CPP) main.cpp -o example $(OPTS)
clean:
rm example

View File

@@ -0,0 +1,157 @@
// This example will show how to override file access with irrKlang.
// This is useful if you want to read sounds from other sources than
// just files, for example from custom internet streams or
// an own encypted archive format.
// lets start: include irrKlang headers and other input/output stuff
// needed to print and get user input from the console.
#if defined(WIN32)
#include <conio.h>
#else
#include "../common/conio.h"
#endif
#include <string.h>
#include <stdio.h>
#include <irrKlang.h>
using namespace irrklang;
#pragma comment(lib, "irrKlang.lib") // link with irrKlang.dll
// To start, we need to implement the class IFileFactory, which irrKlang uses
// to open files. The interface consists only of one single method named
// createFileReader(const ik_c8* filename). In this method, we create return
// our own file access class and return it:
// a class implementing the IFileFactory interface to override irrklang file access
class CMyFileFactory : public IFileFactory
{
public:
//! Opens a file for read access. Simply return 0 if file not found.
virtual IFileReader* createFileReader(const ik_c8* filename)
{
printf("MyFileFactory: open file %s\n", filename);
FILE* file = fopen(filename, "rb");
if (!file)
return 0;
return new CMyReadFile(file, filename);
}
protected:
// To write our own file access methods returned in the method above,
// we only need to implement the IFileReader interface, which has some
// standard methods like read(), seek(), getPos() etc. In this example
// we simply use fopen, fread, fseek etc and print to the console
// when we are reading or seeking:
// an own implementation of IReadFile to overwrite read access to files
class CMyReadFile : public IFileReader
{
public:
// constructor, store size of file and filename
CMyReadFile(FILE* openedFile, const ik_c8* filename)
{
File = openedFile;
strcpy(Filename, filename);
// get file size
fseek(File, 0, SEEK_END);
FileSize = ftell(File);
fseek(File, 0, SEEK_SET);
}
~CMyReadFile()
{
fclose(File);
}
//! reads data, returns how much was read
ik_s32 read(void* buffer, ik_u32 sizeToRead)
{
printf("CMyReadFile: read %d bytes\n", sizeToRead);
return (ik_s32)fread(buffer, 1, sizeToRead, File);
}
//! changes position in file, returns true if successful
bool seek(ik_s32 finalPos, bool relativeMovement)
{
printf("CMyReadFile: seek to position %d\n", finalPos);
return fseek(File, finalPos, relativeMovement ? SEEK_CUR : SEEK_SET) == 0;
}
//! returns size of file
ik_s32 getSize()
{
return FileSize;
}
//! returns where in the file we are.
ik_s32 getPos()
{
return ftell(File);
}
//! returns name of file
const ik_c8* getFileName()
{
return Filename;
}
FILE* File;
char Filename[1024];
ik_s32 FileSize;
}; // end class CMyReadFile
}; // end class CMyFileFactory
// The main work is done, the only thing missing is to start up the
// sound engine and tell it to use the created FileFactory for file access:
// irrKlang 3D sound engine example 04,
// demonstrating how to override file access of irrKlang
int main(int argc, const char** argv)
{
// start the sound engine with default parameters
ISoundEngine* engine = createIrrKlangDevice();
if (!engine)
return 0; // error starting up the engine
// create an instance of the file factory and let
// irrKlang know about it. irrKlang will drop() the
// factory itself if it doesn't need it any longer.
CMyFileFactory* factory = new CMyFileFactory();
engine->addFileFactory(factory);
factory->drop(); // we don't need it anymore, delete it
// that's it, play some sounds with our overriden
// file access methods:
printf("\nDemonstrating file access overriding.\n");
printf("Press any key to start playing sounds, then press escape to cancel\n");
getch();
engine->play2D("../../media/getout.ogg", true);
while(true) // endless loop until user exits
{
// play some wave sound
engine->play2D("../../media/explosion.wav");
if (getch() == 27)
break; // user pressed ESCAPE key, cancel
}
engine->drop(); // delete engine
return 0;
}