2012-05-19 6 views
0

Hi utilisateurs de débordement de pile.Visual studio 2010, problèmes de compilation et de liaison de DLL PortAudio, C++

Description de l'erreur:

Pour un mini-projet, je l'ai décidé d'utiliser la bibliothèque portaudio (j'utilise Windows 7 64 bits et C++): http://portaudio.com/

Avant même utiliser la bibliothèque que je devais créer un fichier .DLL dans un autre projet Visual Studio, puis lier la sortie à mon propre projet Visual Studio 2010 (32 bits). J'ai essayé d'utiliser ce simple morceau de code:

#include <iostream> 
#include <portaudio.h> 
using namespace std; 
void main() 
{ 
    cout << "Hello World!" << endl; cout << "Welcome to C++ Programming" << endl; } 

Je reçois ce message d'erreur: C1083 erreur fatale: Impossible d'ouvrir le fichier à inclure: 'portaudio.h': Aucun fichier ou répertoire

Personnellement, je ne pense pas que c'est la création du .DLL qui est le problème, mais plutôt un problème de liaison.

Ma tentative:

Tout d'abord j'ai essayé de suivre ce guide: http://portaudio.com/docs/v19-doxydocs/compile_windows.html

En suivant ce guide, je me suis un .DLL et .LIB compilés dans le dossier de presse (image 1):

Ensuite j'essaie de lier mon visual studio 2010 avec portaudio_x86.lib et le répertoire dans lequel il se trouve (le dossier de sortie de la création .DLL) (image 2 et 3)

J'ai moi-même très peu d'expérience avec l'utilisation de bibliothèques externes et encore moins d'expérience pour les compiler vous-même. J'ai seulement un peu d'expérience avec la programmation précédente, donc je suis sûr que c'est juste moi qui manque quelque chose de vital.

The folder filled with the .DLL and .Lib filesTelling the linker which library to include Telling the project what directory to include (In this case, the folder where the .DLL and .Lib is

Répondre

2

Le compilateur ne parvient pas à trouver le fichier d'en-tête portaudio.h. Comme dans la dernière capture d'écran, dans supplémentaires Inclure les répertoires, vous devez pointer vers le répertoire où se trouve le fichier <portaudio.h>, pas où les fichiers binaires (.lib, .dll) sont. Le chemin d'accès au fichier .lib doit être spécifié explicitement (comme dans la capture d'écran suivante, non seulement portaudio.lib, mais le chemin d'accès complet) ou défini dans la page de propriétés VC++ Directories, qui est également l'emplacement de choix pour définir votre inclure des répertoires.

+0

Merci beaucoup, je l'ai résolu avec votre aide. Modification de tous les répertoires du VC++ vers le projet .DLL et pointage sur portaudio.h –

Questions connexes