Bonjour,
J'ai un petit soucis avec la librairie wxWidgets sur mon IDE CLion, pour commencer :
- J'utilise la dernière version de CLion avec MinGW dans sa version 64 bits sous Windows 10.
- J'utilise le code source de wxWidget 3.1.0 que je compile avec la commande : make -f makefile.gcc UNICODE=1 MONOLITHIC=0 SHARED=0 USE_ODBC=1 USE_OPENGL=1 BUILD=release
A noter que je peut aussi utiliser mingw-make.exe a la place de make. La compilation de la librairie ce passe sans aucun soucis, je n'ai aucune erreur et dans le dossier <wxhome>/lib, un dossier gcc_lib avec plein de fichier .a est créé.
- Je place le répertoire de wxwidgets dans un dossier libext, a la racine du projet.
- J'ai commencer un projet simple sur CLion (je suis pas pros de l'ide, et encore moins de CMake, que je découvre) avec 3 fichiers: wxHello.cpp, wxHello.h et le fichier CMake, CMakeLists.txt.
Le contenu :
wxHello.h
wxHello.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef WXHELLO_WXHELLO_H #define WXHELLO_WXHELLO_H #include <wx/wx.h> class wxHello : public wxApp { public: virtual bool OnInit(); }; DECLARE_APP(wxHello); #endif //WXHELLO_WXHELLO_H
Et pour finir le fichier CMake CMakeLists.txt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #include "wxHello.h" IMPLEMENT_APP(wxHello); bool wxHello::OnInit() { wxMessageBox(_T("Bienvenue sur wxWidgets !")); return false; }
Le problème est là, CLion reconnait bien les fichiers .h de la librairie wxWidgets, mais a la compilation sa plante. Je pense parce que il utilise pas les fichiers .a nécessaire à la compilation. Le fait que j'ai rajouté le chemin sur link_directories à l'air de pas suffire.
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.6) project(wxHello) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -static") include_directories( includes libext/wx/include ) link_directories( libs libext/wx/lib/gcc_lib ) set( WXHELLO_SOURCES src/wxHello.cpp src/wxHello.h ) add_executable( wxHello ${WXHELLO_SOURCES} )
Et la je coince un peu
PS: je met l'erreur que CLion/gcc m'affiche si cela peu aider:
Merci d'avance.
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 "C:\Program Files (x86)\JetBrains\CLion 2016.2.1\bin\cmake\bin\cmake.exe" --build F:\JetBrains\CLion\system\cmake\generated\wxHello-389b4489\389b4489\Debug --target all -- -j 8 Scanning dependencies of target wxHello [ 50%] Building CXX object CMakeFiles/wxHello.dir/src/wxHello.cpp.obj In file included from F:/Dev/Cpp/wxHello/libext/wx/include/wx/defs.h:20:0, from F:/Dev/Cpp/wxHello/libext/wx/include/wx/wx.h:14, from F:\Dev\Cpp\wxHello\src\wxHello.h:4, from F:\Dev\Cpp\wxHello\src\wxHello.cpp:1: F:/Dev/Cpp/wxHello/libext/wx/include/wx/platform.h:136:22: fatal error: wx/setup.h: No such file or directory #include "wx/setup.h" ^ compilation terminated. mingw32-make.exe[2]: *** [CMakeFiles/wxHello.dir/src/wxHello.cpp.obj] Error 1 mingw32-make.exe[1]: *** [CMakeFiles/wxHello.dir/all] Error 2 mingw32-make.exe: *** [all] Error 2 CMakeFiles\wxHello.dir\build.make:62: recipe for target 'CMakeFiles/wxHello.dir/src/wxHello.cpp.obj' failed CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/wxHello.dir/all' failed Makefile:82: recipe for target 'all' failed
Partager