#1 Le 28/08/2017, à 12:20
- Compte supprimé
[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 Compte supprimé (Le 28/08/2017, à 14:27)
#2 Le 28/08/2017, à 14:26
- Compte supprimé
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} )