버전
menu_open
Wwise SDK 2023.1.3
Defining C++ Project Settings

C++14 Compiler Requirements

The Wwise SDK headers require a valid C++14 (or later) compiler. Make sure your compiler can parse C++14 code. 지원되는 컴파일러 목록은 플랫폼 요구 사항 을 참고하세요.

Release Configuration Settings

For optimization purposes, the release configuration of your project has slightly different requirements than the development configuration.

Define AK_OPTIMIZED Symbol

You must define the AK_OPTIMIZED symbol in the release configuration of your project (it might be called "Ship", "Retail", or something similar in the configuration used to build the retail version of your game).

This symbol is used in various places to avoid compiling unnecessary code in the release version.

Exclude Communication Code

The Wwise sound engine lets you enable communication between Wwise and your game so the Wwise user can perform in-game mixing and profiling. 그러나 이 커뮤니케이션은 성능상의 이유로 릴리즈(release) 설정에서는 작동하지 않습니다.

If you enable communication in your game, exclude the code from the release version of your game by surrounding it with #ifndef AK_OPTIMIZED / #endif.

Windows-Specific Considerations

The recommendations and requirements in this section apply to development on Windows only.

Using wchar_t

If you call one or many Wwise sound engine functions that use the wchar_t type, you need to enable the "Treat wchar_t as Built-in type" option in your project's settings to ensure proper linking to the sound engine libraries. 그러기 위해서는 Configuration Properties > C/C++ > Language로 이동해서 "Treat wchar_t as Built-in Type"을 "Yes"로 설정합니다. This sets the "/Zc:wchar_t" compile flag.

그러나 wchar_t 타입을 사용하는 사운드 엔진의 어떠한 함수도 호출하지 않는다면 이 옵션이 필요하지 않습니다. Note that all these functions have counterparts that use the char type instead.

If you call a function that uses wchar_t, but do not enable the "Treat wchar_t as Built-in Type" setting in your project, you will receive a link error similar to this one: unresolved external symbol "enum AKRESULT __cdecl AK::SoundEngine::LoadBank(unsigned short const *,long,unsigned long &)", because the compiler incorrectly interprets the function AK::SoundEngine::LoadBank(const wchar_t *,long,unsigned long &) as AK::SoundEngine::LoadBank(unsigned short const *,long,unsigned long &).

주의: 프로젝트에서 "Treat wchar_t as Built-in Type" 설정을 활성화하길 추천합니다. 이 옵션을 활성화하지 않겠다면 다음 내용을 확인하세요.

Pay special attention to the AkOSChar type, which has a typedef of wchar_t on some platforms. 이 타입은 디스크 I/O와 관련된 함수에서 사용됩니다. More specifically, it is used by the Stream Manager (AK::IAkStreamMgr) and Low-Level I/O (AK::StreamMgr::IAkLowLevelIOHook) interfaces.

If Audiokinetic's default Stream Manager is used as your I/O manager throughout your game, you must enable the "Treat wchar_t as Built-in Type" setting on platforms where AkOSChar have a typedef of wchar_t. 그러나 일반적으로 Wwise 사운드 엔진은 Stream Manager의 사용자일 뿐입니다. 이러한 경우, 프로젝트에서 "Treat wchar_t as Built-in Type"를 활성화해줘야 할 필요가 없습니다.

The "Treat wchar_t as Built-in Type" setting does not cause problems with the Low-Level I/O API because you don't typically call it, but implement it instead.

Note that the File Package Low-Level I/O sample (see 파일 패키지 Low-Level I/O 구현) calls some methods of the sound engine that use the wchar_t type when AkOSChar has a typedef of wchar_t. If you want to use this sample in your project without enabling the "Treat wchar_t as Built-in Type" setting, you must modify some parts of it to convert wchar_t strings into char strings wherever it is necessary. You can use the AKPLATFORM::AkWideCharToChar() helper to do so. 이 함수는 AK/Tools/Common/AkPlatformFuncs.h에 정의되어 있습니다.

For more information on how to integrate Wwise I/O, refer to 스트리밍 / 스트림 매니저.

Single DLL Requirements

AkSoundEngineDLL 프로젝트 예제와 같이(아래 내용 참조), Windows용 게임에서 Wwise 사운드 엔진과 관련된 모든 라이브러리를 DLL로 만들어 사용하려면, 사운드 엔진 API의 심볼을 올바르게 가져오기 위해 게임 실행 또는 다른 DLL에 의존하는 프로젝트에서 AKSOUNDENGINE_DLL을 정의해야 합니다.

Wwise 사운드 엔진의 라이브러리와 정적으로 연결한 프로젝트는 AKSOUNDENGINE_DLL을 정의하면 안 됩니다.

AkSoundEngineDLL Sample Project

사운드 엔진 통합 과정은 기본 통합 및 단계별 작업, 초기화, 개별 모듈 처리를 통해 안내해줍니다. 예제 DLL 프로젝트로 작업하기를 선호한다면, SDK에 DLL 하나를 포함해야 합니다. AkSoundEngineDLL 프로젝트는 "Initialize"나 "Terminate"처럼 일부 통합 작업을 상위 레벨 호출로 감싸놓았습니다. 이번 예제에서는 사용되지 않았으나 각 단계를 개별적으로 볼 수 있는데, 게임에서 DLL이나 수정된 버전의 DLL을 사용할 수 있습니다. 해당 DLL을 어떻게 사용하는지는 AkCube 사운드 엔진 통합 예제 프로젝트 를 참고하세요.

참고: Windows에서 AkSoundEngineDLL을 사용하기 위해서는 Visual Studio 2017 패키지를 설치해야 합니다.


또한, AkSoundEngineDLL 프로젝트는 하위 레벨 I/O의 구현을 포함하고 있다는 점을 명심하세요. 이는 원하는 대로 교체가 가능합니다. Low-Level I/O와 관련해 더 많은 정보는 Low-Level I/O를 참고하세요.


이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요