IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

SWI-Prolog Interface C++ problème linker


Sujet :

Bibliothèques

  1. #1
    Membre averti
    Avatar de smarlytomtom
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 139
    Points : 373
    Points
    373
    Billets dans le blog
    1
    Par défaut SWI-Prolog Interface C++ problème linker
    Bonjour à tous.
    Dans le cadre d'un projet que je réalise pour les cours, je suis amené à utiliser l'interface C++ SWI-Prolog. J'ai donc utilisé l'installateur fourni par le site pour installer Prolog ainsi que les librairies sur mon ordinateur. J'utilise l'IDE Clion car tout le monde ne travail pas sous windows pour le projet, et donc la chaîne de compilation MinGW. Voici mon CmakeList.txt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    cmake_minimum_required(VERSION 3.7)
    project(Split)
     
    set(CMAKE_CXX_STANDARD 11)
     
    # Compilation de SFML
    link_directories(./lib/SFML/lib/)
    include_directories(./lib/SFML/include/)
    add_subdirectory(./lib/SFML/)
     
    # Ajout de la localisation de SWI-Prolog
    link_directories(/Program\ Files/swipl/lib)
    include_directories(/Program\ Files/swipl/include)
     
    # Changement du dossier de sortie
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/)
     
    set(SOURCE_FILES main.cpp Core/Window.cpp Core/Window.h)
    add_executable(Split ${SOURCE_FILES})
     
    target_link_libraries(Split sfml-graphics sfml-window sfml-system swipl)
     
    # Copie des dll dans le dossier de l'exécutable généré
    file(COPY "./cmake-build-debug/lib/SFML/lib/" DESTINATION "${CMAKE_SOURCE_DIR}/bin/")
    J'ai donc bien indiqué les différents chemins vers les dossiers contenant les librairies ainsi que les headers. J'ai également ajouté dans ma variable d'environnement %PATH% le chemin vers le dossier bin/ qui contient toutes les DLLs. Cependant lors de la compilation je me retrouve avec l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    [ 23%] Built target sfml-system
    [ 53%] Built target sfml-window
    [ 97%] Built target sfml-graphics
    [ 98%] Linking CXX executable ..\bin\Split.exe
    CMakeFiles\Split.dir/objects.a(main.cpp.obj): In function `main':
    C:/Users/user/CLionProjects/Split/main.cpp:35: undefined reference to `PL_initialise'
    C:/Users/user/CLionProjects/Split/main.cpp:38: undefined reference to `PL_halt'
    C:/Users/user/CLionProjects/Split/main.cpp:43: undefined reference to `PL_halt'
    collect2.exe: error: ld returned 1 exit status
    mingw32-make.exe[3]: *** [../bin/Split.exe] Error 1
    CMakeFiles\Split.dir\build.make:128: recipe for target '../bin/Split.exe' failed
    mingw32-make.exe[2]: *** [CMakeFiles/Split.dir/all] Error 2
    CMakeFiles\Makefile2:68: recipe for target 'CMakeFiles/Split.dir/all' failed
    mingw32-make.exe[1]: *** [CMakeFiles/Split.dir/rule] Error 2
    CMakeFiles\Makefile2:80: recipe for target 'CMakeFiles/Split.dir/rule' failed
    Makefile:161: recipe for target 'Split' failed
    mingw32-make.exe: *** [Split] Error 2
    Je tiens à préciser que ni l'interface C ni l'interface C++ ne se link à la fin de la compilation...

    J'ai fouillé sur internet mais je n'ai pas trouvé de solution pertinente à mon problème, je m'en remet donc à vous !
    En vous remerciant d'avance pour vos réponses

  2. #2
    Membre averti
    Avatar de smarlytomtom
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 139
    Points : 373
    Points
    373
    Billets dans le blog
    1
    Par défaut
    Désolé du UP mais je n'ai toujours pas trouvé la réponse :/ !

Discussions similaires

  1. [Python 2.X] Problème avec interfaçage DJANGO et SWI-PROLOG
    Par Triton972 dans le forum Django
    Réponses: 10
    Dernier message: 23/01/2015, 10h11
  2. Swi Prolog Interface XPCE
    Par maurty dans le forum Prolog
    Réponses: 16
    Dernier message: 20/12/2012, 07h49
  3. Interface SWI Prolog
    Par pocahentez dans le forum Prolog
    Réponses: 6
    Dernier message: 02/12/2012, 23h05
  4. [SWI-Prolog] SWI foreign langage interface
    Par mchk0123 dans le forum Prolog
    Réponses: 3
    Dernier message: 03/03/2008, 08h20
  5. Problème linker Dev-C++ sockets ws2_32
    Par Alp dans le forum Dev-C++
    Réponses: 3
    Dernier message: 07/04/2006, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo