Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - bokoblin

Pages: [1]
1
Citer
set(SFMLDIR "C:/Program Files/SFML-2.3.2")
Ca c'est inutile.

Citer
set(SFML_ROOT "C:/Program Files/SFML-2.3.2")
Ca on évite généralement de le mettre dans le fichier CMakeLists.txt, on le garde pour les variables "dynamiques" (comme ça ton projet peut être utilisé ailleurs que sur ton propre PC).

Ok j'ai rectifié CMakeList, merci.
Edit: C'est bon Build success, après ça plante au démarrage, impossible de débugger, ça plante avant la première ligne du main.cpp :/

2
Ajoute l'argument REQUIRED à find_package(SFML ...). Ca provoquera une erreur fatale si SFML n'est pas trouvée -- ce qui semble être le cas ici.

Si SFML n'est pas installée dans un endroit standard, il faut aider un peu CMake en définissant la variable SFML_ROOT.

============================

Ca marche avec SFML_ROOT , j'ai plus que des messages liés à PugiXml, je dois donc faire de même.
Merci



Revoici le cmakelists.txt au cas où :

cmake_minimum_required(VERSION 3.5)

#Configuration du projet
set(PROJECT_NAME runner)
project(${PROJECT_NAME})
set(EXECUTABLE_NAME ${PROJECT_NAME})

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

#include_directories("${PROJECT_SOURCE_DIR}/Libs")

set(SFMLDIR "C:/Program Files/SFML-2.3.2")
set(SFML_ROOT "C:/Program Files/SFML-2.3.2")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${SFMLDIR}/cmake/Modules/")
set(SFML_LIBRARIES "${SFMLDIR}/lib")
set(SFML_INCLUDE_DIR "${SFMLDIR}/include")

set(SOURCE_FILES
    Sources/AnimatedGraphicElement.cpp
    Sources/AnimatedGraphicElement.h

(...)

    Sources/View.cpp
    Sources/View.h
        )

add_executable(runner ${SOURCE_FILES})

#find_package(PUGI)
find_package(SFML 2 COMPONENTS system window graphics audio REQUIRED)

include_directories( ${SFML_INCLUDE_DIR} )

target_link_libraries(${EXECUTABLE_NAME} ${SFML_LIBRARIES})

3
Comment je peux faire ?

Edit: J'ai trouvé. Cela donne :

-- SFML_LIBRARIES=C:/Program Files/SFML-2.3.2/lib;

Mais cela ne marche pas j'ai pu afficher aussi :

-- SFML_CONFIG_HPP_INPUT=C:/Program Files/SFML-2.3.2/include/SFML/Config.hpp
-- SFML_FOUND=FALSE
-- SFML_GRAPHICS_FOUND=FALSE
-- SFML_GRAPHICS_LIBRARY=
-- SFML_GRAPHICS_LIBRARY=
-- SFML_GRAPHICS_LIBRARY_DEBUG=

4

Citer
set(SFML_LIBRARIES "${SFMLDIR}/lib")
set(SFML_INCLUDE_DIR "${SFMLDIR}/include")
Je ne sais pas si cela a un rapport avec ton problème, mais en tout cas cela ne sert à rien puisque ces variables vont être définies automatiquement par l'appel à find_package(SFML ...). Que contient la variable SFML_LIBRARIES après configuration ? Est-ce que c'est correct ou pas ?
Je ne savais pas si c'était utile ou non c'est pour ça que je les ai laissé mais je vais les enlever si ils ne servent à rien.

5
Général / Problème d'ajout SFML comme bibliothèque externe sur CLion
« le: Juillet 19, 2016, 08:07:05 pm »
Bonjour, j'essaye depuis hier d'ajouter la SFML sur CLion à un projet importé (qui fonctionnait avec Code::Blocks), mais je ne connais pas bien le fonctionnement du CMakeLists.txt. J'ai donc essayé en me basant sur des sujets similaires mais j'obtiens les erreurs suivantes :

"C:\Program Files (x86)\JetBrains\CLion 2016.1.3\bin\cmake\bin\cmake.exe" --build C:\Users\Arthur\.CLion2016.1\system\cmake\generated\runner-f97632df\f97632df\Debug --target all -- -j 4
[  3%] Linking CXX executable runner.exe
CMakeFiles\runner.dir/objects.a(AnimatedGraphicElement.cpp.obj): In function `AnimatedGraphicElement::AnimatedGraphicElement(sf::Texture&, float, float, float, float, std::vector<sf::Rect<int>, std::allocator<sf::Rect<int> > > const&)':
D:/Arthur/Documents/IUT/Prog Objet/Projet/POO-Runner/runner/Sources/AnimatedGraphicElement.cpp:15: undefined reference to `__imp__ZN2sf6Sprite14setTextureRectERKNS_4RectIiEE'
CMakeFiles\runner.dir/objects.a(AnimatedGraphicElement.cpp.obj): In function `AnimatedGraphicElement::AnimatedGraphicElement(AnimatedGraphicElement const&)':
D:/Arthur/Documents/IUT/Prog Objet/Projet/POO-Runner/runner/Sources/AnimatedGraphicElement.cpp:28: undefined reference to `__imp__ZN2sf6Sprite14setTextureRectERKNS_4RectIiEE'
CMakeFiles\runner.dir/objects.a(AnimatedGraphicElement.cpp.obj): In function `AnimatedGraphicElement::sync()':
D:/Arthur/Documents/IUT/Prog Objet/Projet/POO-Runner/runner/Sources/AnimatedGraphicElement.cpp:67: undefined reference to `__imp__ZN2sf6Sprite14setTextureRectERKNS_4RectIiEE'
CMakeFiles\runner.dir/objects.a(AnimatedGraphicElement.cpp.obj):AnimatedGraphicElement.cpp:(.rdata$_ZTV22AnimatedGraphicElement[_ZTV22AnimatedGraphicElement]+0x20): undefined reference to `sf::Sprite::draw(sf::RenderTarget&, sf::RenderStates) const'
CMakeFiles\runner.dir/objects.a(Button.cpp.obj): In function `Button::Button(std::vector<sf::Rect<int>, std::allocator<sf::Rect<int> > > const&, sf::Texture&, float, float, float, float, bool)':
D:/Arthur/Documents/IUT/Prog Objet/Projet/POO-Runner/runner/Sources/Button.cpp:14: undefined reference to `__imp__ZN2sf6Sprite14setTextureRectERKNS_4RectIiEE'

(...)

D:/Arthur/Documents/IUT/Prog Objet/Projet/POO-Runner/runner/Sources/Text.cpp:665: undefined reference to `__imp__ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
collect2.exe: error: ld returned 1 exit status
CMakeFiles\runner.dir\build.make:852: recipe for target 'runner.exe' failed
mingw32-make.exe[2]: *** [runner.exe] Error 1
mingw32-make.exe[1]: *** [CMakeFiles/runner.dir/all] Error 2
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/runner.dir/all' failed
makefile:82: recipe for target 'all' failed
mingw32-make.exe: *** [all] Error 2

==============================================

Voici le contenu de mon CMakeLists.txt :

cmake_minimum_required(VERSION 3.5)
project(runner)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(EXECUTABLE_NAME ${PROJECT_NAME})

set(SFMLDIR "C:/Program Files/SFML-2.3.2")
set(PUGIDIR "${PROJECT_SOURCE_DIR}/Libs/pugixml-1.7/")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${SFMLDIR}/cmake/Modules/")
set(SFML_LIBRARIES "${SFMLDIR}/lib")
set(SFML_INCLUDE_DIR "${SFMLDIR}/include")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PUGIDIR}/cmake/Modules/")
set(PUGI_LIBRARIES "${PUGIDIR}/src")
set(PUGI_INCLUDE_DIR "${PUGIDIR}/src")

set(SOURCE_FILES
    Sources/AnimatedGraphicElement.cpp
    Sources/AnimatedGraphicElement.h
    Sources/Bonus.cpp
    Sources/Bonus.h
(...)
    Sources/Text.cpp
    Sources/Text.h
    Sources/View.cpp
    Sources/View.h)

add_executable(runner ${SOURCE_FILES})

find_package(PUGI)
find_package(SFML 2 COMPONENTS system window graphics network audio)

include_directories("${PUGIDIR}/src" ${SFML_INCLUDE_DIR})
target_link_libraries(${EXECUTABLE_NAME} "${PUGIDIR}/src" ${SFML_LIBRARIES})

====================================

Note : J'essaye aussi de linker la bibliothèque PugiXml avec les mêmes erreurs

Merci d'avance

Pages: [1]