0

DirectSound をプログラムに実装する作業を行っていますが、sal.h を必要とする dsound.h が必要です。何らかの理由で、sal.h があり、それがパスにあるという事実を g++ に認識させるのに問題があります。ファイルと直接コマンドsal.hを入力することもでき、コマンド プロンプトで sal.h が開きます。しかし、私がコンパイルすると

g++-3 World.cpp -c

私は得る

dsound.h:13:17: sal.h: No such file or directory.

続いて、sal.h の欠如に起因する dsound.h からの何千ものエラーが発生します。メモ帳、g++、およびコマンド プロンプトを使用しているだけですが、sal.h を機能させるには VC++ を使用する必要がありますか? それなしで DirectSound を使用する方法はありますか?

念のため、コンパイルしているコードの冒頭を次に示します。

#include "WorldEntity.h"
#include "MBox.h"
#include <D3D9.h>
#include <d3dx9.h>
#include <string>
#include <sstream>

#define _USE_MATH_DEFINES
#include <math.h>

#define KEYDOWN(vk_code)((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code)((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

using namespace std;

World::World()
{
//Etc

以下は、dsound.h を含むインクルード ファイルである WorldEntity.h の冒頭部分です。

#ifndef WORLDENTITY_H
#define WORLDENTITY_H

class Entity;
class HUD;

#include "Enums.h"

#include "Object.h"
#include "Inventory.h"
#include "AI.h"
#include "Item.h"
#include "Sector.h"
#include "MBox.h"
#include "Particle.h"
#include "Sprite.h"
#include <windows.h>
#include <windows.h>
#include <mmsystem.h>
#include <mmreg.h>
#include <dsound.h>
#include <string>
#include <D3D9.h>
#include <d3dx9.h>
#include <cstdlib>
#include <ctime>    

using namespace std;

enum FontIndex
{
//Etc
4

1 に答える 1

1

コマンド パスがインクルード パスと同じではありません。GCC にフラグを追加して、-Iヘッダー ファイルの場所を指定する必要があります。

g++-3 -IC:\some\path World.cpp -c
于 2012-02-06T06:48:39.807 に答える