0

問題なく実行されるいくつかのデモプロジェクトに付属するライブラリを使用して.dllを作成しようとしています。ヘッダーを#includeしようとすると、コンパイラは特定のデータ型が定義されていないと文句を言います。これが生成されたエラーのサンプルです

1>c:\program files (x86)\audiokinetic\wwise v2012.1.4 build 4260\sdk\include\ak\wwise\utilities.h(82) : error C2061: syntax error : identifier 'LPCWSTR'
1>c:\program files (x86)\audiokinetic\wwise v2012.1.4 build 4260\sdk\include\ak\wwise\utilities.h(90) : error C2061: syntax error : identifier 'LPCWSTR'
1>c:\program files (x86)\audiokinetic\wwise v2012.1.4 build 4260\sdk\include\ak\wwise\utilities.h(97) : error C2061: syntax error : identifier 'LPCWSTR'
1>c:\program files (x86)\audiokinetic\wwise v2012.1.4 build 4260\sdk\include\ak\wwise\utilities.h(107) : error C2061: syntax error : identifier 'LPCWSTR'
1>c:\program files (x86)\audiokinetic\wwise v2012.1.4 build 4260\sdk\include\ak\wwise\utilities.h(110) : error C2061: syntax error : identifier 'DWORD'
1>c:\program files (x86)\audiokinetic\wwise v2012.1.4 build 4260\sdk\include\ak\wwise\utilities.h(113) : error C2061: syntax error : identifier 'DWORD'

追加する

#include <windows.h>
#include <atlstr.h>

この外部utilities.hファイルに問題は解決しますが、サードパーティのヘッダーとして編集する必要はないと思います。これらの他のデモプロジェクトを考慮すると、#私と同じヘッダーが含まれていることを示唆しているようです。問題は他の場所にあります。

誰もがこれが起こっている可能性がある理由を考えることができますか?私が使用しようとしているライブラリはWwise(サウンドエンジン)です。これがリンクしている.libsimのリストです

AkSoundEngine.lib
AkMemoryMgr.lib
AkStreamMgr.lib
AkMusicEngine.lib
CommunicationCentral.lib
dxguid.lib
ws2_32.lib
dsound.lib
dinput8.lib
xinput.lib
4

1 に答える 1

1

通常、これはヘッダーが含まれる順序を変更することで解決されます。

header.hと呼ばれるファイルに次のものがあると仮定します。

LPCWSTR foo;

あなたのメインで:

// This is fail.
#include "header.h"
#include <windows.h>

試す:

// Success!
#include <windows.h>
#include "header.h"
于 2012-09-05T11:28:21.897 に答える