Bonjour à tous,
Je souhaiterai dans mes fichiers sources appeler mes headers qu'avec leur nom de fichier (sans path absolue ou relatif). Par exemple au lieu d'écrire "../../test.hpp" faire "test.hpp".
J'utilise cmake pour linker mes fichiers, j'ai beau chercher je n'ai pas trouvé de moyen de faire ça. J'ai toujours un bug qui me dit que le compilateur ne trouve pas le lien vers mon fichier header.
Pouvez-vous m'aider s'il vous plaît ?
Voici mon fichier test.cpp qui est dans un dossier appelé source :
Voici mon fichier test.hpp qui est dans un dossier header distincte du dossier source :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "/test.hpp" int main() { return 0; }
Et mon script cmake :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifndef TEST_HPP #define TEST_HPP #define toto 1; #endif
Le projet est en pièce jointe.
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 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) PROJECT(exec) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(MY_HEADER "${CMAKE_SOURCE_DIR}../header") # Chercher les fichiers sources FILE( GLOB_RECURSE FICHIERS_SOURCES ${MY_HEADER}/test.hpp source/ ) ADD_EXECUTABLE(${PROJECT_NAME} ${FICHIERS_SOURCES}) TARGET_LINK_LIBRARIES(${PROJECT_NAME})
Partager