Eu estou trabalhando na implementação do DirectSound em um programa, mas requer dsound.h que requer sal.h, e por qualquer motivo eu estou tendo problemas para obter g + + para reconhecer o fato de que eu ter sal.he é no arquivo de caminho e eu posso até digitar o comando direto sal.h
e o prompt de comando será aberto sal.h. Mas quando eu compilo com
g++-3 World.cpp -c
eu recebo
dsound.h:13:17: sal.h: No such file or directory.
seguido por milhares de erros do dsound.h resultante da falta de sal.h. Eu estou apenas usando o bloco de notas, g + + e prompt de comando, eu preciso estar em VC + + para sal.h para trabalhar? Existe alguma maneira de usar o DirectSound sem ele?
Aqui está a abertura para o código que estou compilando, apenas no caso:
#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
Aqui está o início do WorldEntity.h, o arquivo incluído que inclui dsound.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
Respostas:
1 para resposta № 1o caminho de comando não é o mesmo que o incluir caminho. Você tem que adicionar o -I
sinalizar para o GCC para informar onde encontrar arquivos de cabeçalho:
g++-3 -IC:somepath World.cpp -c