Bonjour,
dans mon passage d'Autotools à CMake, je viens (encore) de tomber sur un os.
Dans mon fichier configure.ac, j'ai ça
Sous CMake j'ai essayé de le "convertir" en faisant ça
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 ILP_PATHS=$libdir/otawa/ilp LOADER_PATHS=$libdir/otawa/loader PROC_PATHS=$libdir/otawa/proc SIMULATOR_PATHS=$libdir/otawa/sim # Configurations AS_AC_EXPAND(ILP_PATHS, "$ILP_PATHS") AC_DEFINE_UNQUOTED(ILP_PATHS, "$ILP_PATHS", [Paths for ILP plugins]) AS_AC_EXPAND(LOADER_PATHS,"$LOADER_PATHS") AC_DEFINE_UNQUOTED(LOADER_PATHS, "$LOADER_PATHS", [Paths for loader plugins]) AS_AC_EXPAND(PROC_PATHS,"$PROC_PATHS") AC_DEFINE_UNQUOTED(PROC_PATHS, "$PROC_PATHS", [Paths for processor plugins]) AS_AC_EXPAND(SIMULATOR_PATHS, "$SIMULATOR_PATHS") AC_DEFINE_UNQUOTED(SIMULATOR_PATHS, "$SIMULATOR_PATHS", [Paths for simulator plugins])
Sauf que à la compilation j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if(CMAKE_BUILD_TYPE MATCHES Release) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D ILP_PATHS=lib/otawa/ilp") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D LOADER_PATHS=lib/otawa/loader") endif (CMAKE_BUILD_TYPE MATCHES Release)
Comment faire ? J'ai essayé de mettre des chemins complets vers le dossier, j'ai un message d'erreur à cause du ":", il ne reconnait que la lettre du disque dur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 manager.cpp: In constructor 'otawa::Manager::Manager()': manager.cpp:148:21: error: 'lib' was not declared in this scope manager.cpp:148:21: error: expected primary-expression before '/' token manager.cpp:148:30: error: expected primary-expression before ')' token manager.cpp:150:24: error: expected primary-expression before '/' token manager.cpp:150:24: error: 'loader' was notdeclared in this scope manager.cpp:151:61: error: 'SIMULATOR_PATHS' was not declared in this scope manager.cpp: At global scope: manager.cpp:634:43: error: 'DATE' was not declared in this scope mingw32-make[2]: *** [src/prog/CMakeFiles/libotawa.dir/manager.cpp.obj] Error 1 mingw32-make[1]: *** [src/prog/CMakeFiles/libotawa.dir/all] Error 2 mingw32-make: *** [all] Error 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 manager.cpp:148:21: error: 'D' was not declared in this scope manager.cpp:150:24: error: expected ')' before ':' token
Partager