Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 28/08/2017, à 12:20

litsubzu

[Résolu] Problème de compilation cmake/gtkmm norme c++ 2011

Bonjour/Bonsoir tout le monde.
Alors depuis quelques jours j'ai commencer à apprendre l'utilisation de cmake et de gtkmm. Mais j'ai un problème avec mon cmake et mon programme ne compile pas.

main.cpp

#include <gtkmm.h>

int main(int argc, char *argv[])
{
  auto app = Gtk::Application::create(argc, argv,"test");

  Gtk::Window w;
  w.set_default_size(800, 800);

  return app->run(w);
}

cmake

project(Fenetre)
cmake_minimum_required(VERSION 2.6)

find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-2.4 )

link_directories(
    ${GTKMM_LIBRARY_DIRS} )

include_directories(
${GTKMM_INCLUDE_DIRS} )  



file(

    GLOB_RECURSE

    source_files

    src/*

)


add_executable(

    Fenetre

    ${source_files}

)



target_link_libraries(Fenetre ${GTKMM_LIBRARIES} )

Alors je peux lancer la commande "cmake ..", le makefile est créé, et je n'ai aucune erreur.

Mais lorsque j'utilise la commande "make" j'ai une erreur (je vous met juste le début)

[ 50%] Building CXX object CMakeFiles/Fenetre.dir/src/main.cpp.o
In file included from /usr/include/c++/5/type_traits:35:0,
                 from /usr/include/sigc++-2.0/sigc++/visit_each.h:22,
                 from /usr/include/sigc++-2.0/sigc++/functors/slot.h:6,
                 from /usr/include/sigc++-2.0/sigc++/signal_base.h:27,
                 from /usr/include/sigc++-2.0/sigc++/signal.h:8,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:86,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:51,
                 from /usr/include/glibmm-2.4/glibmm.h:87,
                 from /usr/include/gtkmm-2.4/gtkmm.h:87,
                 from /home/maxence/Documents/informatique/TestFenetre/src/main.cpp:1:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

Alors j'ai compris que lors de la compilation je devais utiliser l'option "-std=c++11" mais je ne sais pas comment faire pour que mon cmake prenne ça en compte.

Donc si vous avez des suggestion, je suis tout ouïe.

Dernière modification par litsubzu (Le 28/08/2017, à 14:27)

Hors ligne

#2 Le 28/08/2017, à 14:26

litsubzu

Re : [Résolu] Problème de compilation cmake/gtkmm norme c++ 2011

C'est bon j'ai trouvé, il suffisait de forcer cmake a utiliser la bonne norme de C++ en rajoutant

set (CMAKE_CXX_STANDARD 11)

, voilà la bonne version du cmake

project(Fenetre)
cmake_minimum_required(VERSION 2.6)
set (CMAKE_CXX_STANDARD 11)
find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-2.4 )

link_directories(
    ${GTKMM_LIBRARY_DIRS} )

include_directories(
${GTKMM_INCLUDE_DIRS} )  



file(

    GLOB_RECURSE

    source_files

    src/*

)


add_executable(

    Fenetre

    ${source_files}

)



target_link_libraries(Fenetre ${GTKMM_LIBRARIES} )

Hors ligne