2011-10-02 3 views
2

Récemment, j'ai trébuché pour ajouter la bibliothèque Allegro5 à Visual Studio 2010. J'ai visité allegro.cc et téléchargé le paquet appelé: allegro-5.0.4-msvc-10.0 (suivant le nom, je pense qu'il est correct) et après extracxtion, et je copiais:Allegro5 et MS Visual Studio 2010

/bin to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin 
/include to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include 
/lib to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib 

Allegro's dlls to C:\Windows\System32 

I also added "alld.lib" in project -> properties -> linker -> input 

et quand j'ai essayé d'utiliser Allegro dans mon projet, je pourrais inclure les en-têtes Allegro mais il est une erreur quand j'ai essayé de taper quelque chose de simple comme:

#include <allegro5\allegro.h> 

int main() 
{ 
    allegro_init(); 

    return 0; 
} 

Il génère une erreur (soulignement rouge en mode de frappe): identifiant non défini er "allegro_init". Quelqu'un pourrait-il me donner un conseil sur ce qui pourrait être faux dans cette configuration? Je serai très heureux pour tous les conseils et solutions. Salutations,

+2

Avez-vous essayé le compiler? Est-ce qu'il donne des erreurs? –

+3

J'aimerais que les gens cessent de copier des bibliothèques dans les répertoires de VS. Si vous souhaitez placer les bibliothèques dans un emplacement centralisé, créez un emplacement centralisé et faites simplement référence à ces emplacements à partir de Visual Studio. –

+1

Peut-être que [this] (http://wiki.allegro.cc/index.php?title=Windows,_Visual_Studio_2010_and_Allegro_5) aiderait? – quasiverse

Répondre

2

Veuillez consulter la documentation sur le wiki pour Allegro 5 and Visual Studio 2010. Notamment le fait de ne pas modifier les dossiers système comme vous l'avez déjà fait.

De toute façon, le problème ici est que vous essayez d'écrire du code Allegro 4 mais vous avez installé Allegro 5. Les deux ne sont pas compatibles. Allegro 5 est complètement réécrit et conçu pour le matériel moderne. Le programme équivalent est correct:

#include <allegro5/allegro.h> 

int main(int argc, const char *argv[]) 
{ 
    al_init(); 
    return 0; 
} 

, vous aussi la liaison avec Allegro 4, à en juger par le nom du fichier. Les bibliothèques incluses dans le paquet binaire sont described here. Il existe de nombreuses versions différentes pour le débogage, pour les temps d'exécution statiques, etc. L'équivalent le plus direct pour alld.lib est allegro-5.0.4-monolith-md-debug.lib.

Vous trouverez le manuel ici: http://www.allegro.cc/manual/5/

1

Eh bien votre gros problème est, je suppose, que vous ne dites pas réellement au lieur comment charger la DLL.

Vous pouvez le faire manuellement en utilisant LoadLibrary et GetProcAddress.

Cependant la plupart du temps lorsque vous construisez une DLL, vous trouverez une bibliothèque qui gère pour vous tous les liens dynamiques ci-dessus. En conséquence, vous trouverez qu'il est beaucoup plus facile de simplement ajouter cette lib aux "entrées" de l'éditeur de liens.