2011-07-25 15 views
12

Sto costruendo un progetto in C++ che utilizza la libreria di acquisizione video di DirectShow per connettersi a una telecamera. Il produttore della scheda video (BlackMagic) ha fornito i file .idl (Interface Definition Language) che aggiungono nuovi grafici di acquisizione alla raccolta standard.Inclusione di un file .idl in un progetto C++

Il problema è che non ho mai trovato un file .idl e la direzione molto vaga di "includere il file" non aiuta molto. Includerlo con una direttiva #include non genera errori, ma il programma non riesce a inserire le varie definizioni che presumo sia destinato ad aggiungere, poiché è l'unico file che mi viene detto di includere nel progetto.

La mia domanda è: come si dovrebbe includere un file .idl in un progetto?

+0

Molto probabilmente non è necessario includere l'IDL nel progetto, oppure esiste un modo più semplice e/o migliore per ottenere tutto ciò che si sta tentando di ottenere. –

risposta

16
 
For example: you have an AFileName.idl 
1. Add the AFileName.idl to you project: Right Click on The project->Add->Existing Item... 
2. Click Right on The AFileName.idl from the project->Compile 
3. The step 2 will generate AFileName_h.h, AFileName_i.c, AFileName_p.c,... 
4. Now you can #include "AFileName_h.h" and use it, you also may need 
    to add AFileName_i.c or other generated files to your project 
    depending on your needs. 

osservazione: i passi sono descritti per VS2008, ma non credo che VS2010 è diverso in questa prospettiva.

+0

Ha fatto il trucco, grazie mille. – wyatt

+3

Se aggiungi un file .c al tuo progetto, probabilmente dovrai modificare anche il file C/C++ | Avanzato | Compilare come proprietà a "Compilare come codice C (/ TC)" e potrebbe anche essere necessario impostare il C/C++ del file | Intestazioni precompilate | Proprietà "intestazione precompilata" su "Non utilizzare intestazioni precompilate" –