2017-03-26 4 views
1

Je suis en train de faire un lecteur multimédia avec SDL barebones et smpeg. À l'heure actuelle le seul code j'est la suivante:Liaison contre bibliothèque smpeg

// Header file for SDL 
#include "SDL.h" 

// This is the header file for the library 
#include "smpeg.h" 

// Link in the needed libraries 
#pragma comment(lib, "sdlmain.lib") 
#pragma comment(lib, "sdl.lib") 
#pragma comment(lib, "smpeg.lib") 

#include "SDL_Movie.h" 

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

Cependant, lorsque je tente de compiler ce code avec la commande suivante je reçois une erreur:

g++ sdltest.cpp `pkg-config --clflags --libs sdl2` && ./a.out 
Error is: fatal error: smpeg.h: No such file or directory 

Je crois que c'est une erreur des liens avec des années SMPEG libs et j'ai essayé les commandes reliant suivantes:

-lSDL2_smpeg 
-lSDL_smpeg 
-lsmpeg 
-libsmpeg 

S'il vous plaît noter que j'ai installé ce que je pense sont les libs corrects avec mon gestionnaire de paquets:

sudo apt-get install libsmpeg-dev 

Comment devrais-je relier cela différemment ou autre chose?

Répondre

1

Dans ma boîte Debian Stretch libsmpeg-dev colle l'en-tête smpeg.h dans /usr/include/smpeg/, et non /usr/include/.

Donc, passez soit -I/usr/include/smpeg/ à g++ ou passez à #include <smpeg/smpeg.h>.

Voir la GCC C preprocessor documentation pour la façon dont il recherche les fichiers d'en-tête.