Vous utilisez un navigateur obsolète, veuillez le mettre à jour.
Veuillez utiliser un navigateur internet moderne avec JavaScript activé pour naviguer sur OpenClassrooms.com
Une question ? Pas de panique, on va vous aider !
Salut tout le monde !
J'ai une erreur étrange lorsque j'utilise make en mutliprocessing :
Scanning dependencies of target lib make[6]: *** read jobs pipe: Bad file descriptor. Stop. make[6]: *** Waiting for unfinished jobs.... [ 25%] Building CXX object CMakeFiles/lib.dir/myLib.cpp.o make[5]: *** [CMakeFiles/Makefile2:76: CMakeFiles/lib.dir/all] Error 2 make[4]: *** [Makefile:84: all] Error 2 make[6]: *** read jobs pipe: Bad file descriptor. Stop. make[6]: *** Waiting for unfinished jobs.... make[5]: *** [CMakeFiles/Makefile2:76: CMakeFiles/lib.dir/all] Error 2 make[4]: *** [Makefile:84: all] Error 2
En monoprocessing en revanche, ça compile parfaitement :
Scanning dependencies of target lib [ 25%] Building CXX object CMakeFiles/lib.dir/myLib1.cpp.o [ 50%] Building CXX object CMakeFiles/lib.dir/myLib2.cpp.o [ 75%] Building CXX object CMakeFiles/lib.dir/myLib3.cpp.o [100%] Linking CXX shared library myLib.so [100%] Built target lib
Cette erreur me laisse perplexe. Je ne vois pas comment la corriger ni quelle pourrait être l'origine.
-Edité par ThomasAirain 23 avril 2024 à 15:22:17
Bonjour,
D'après ton post et sur le premier écran tu compiles:
- 'myLib.cpp'
et en mono processing:
- 'myLib1.cpp' ; 'myLib2.cpp' ; 'myLib3.cpp'
Ce qui n'est pas la même chose.
Tu devrais nous montrer le contenu de ton fichier CMakeLists.txt je pense.
-Edité par Warren79 24 avril 2024 à 19:15:20
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr
Voici le CMakeLists.txt :
project(myLib CXX) if(NOT DEFINED ENV{POF_INSTALL_DIR}) message(FATAL_ERROR "You need to define POF_INSTALL_DIR environment variable.") endif() if(DEFINED ENV{BOOST_HOME}) set(BOOST_ROOT $ENV{BOOST_HOME}) if(MSVC) set(BOOST_LIBRARYDIR ${BOOST_ROOT}/bin) endif() endif() file(TO_CMAKE_PATH "$ENV{POF_INSTALL_DIR}" POF_INSTALL_DIR) set(CMAKE_MODULE_PATH "${POF_INSTALL_DIR}/share/cmake") set(CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@" CACHE STRING "Choose the type of build" FORCE) set(CMAKE_CXX_FLAGS "@CMAKE_CXX_FLAGS@") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0") set(Boost_NO_SYSTEM_PATHS FALSE) set(BUILD_SHARED_LIBS ON) set(Boost_USE_STATIC_RUNTIME False) add_definitions(-DBOOST_ALL_DYN_LINK) add_definitions(-DBOOST_ALL_NO_LIB) find_package(Boost 1.63 REQUIRED COMPONENTS atomic date_time serialization system log log_setup filesystem program_options ) find_package(Pof CONFIG REQUIRED PATHS $ENV{POF_INSTALL_DIR} PATH_SUFFIXES share) set(MY_SOURCES lib1.cpp lib2.cpp lib3.cpp ) add_library(lib SHARED ${MY_SOURCES}) target_include_directories(lib PUBLIC $ENV{POF_ADDITIONAL_INCLUDE}) target_link_libraries(lib PRIVATE Pof::Pof_Common Pof::Pof_Controller Boost::system $ENV{POF_ADDITIONAL_LIBRARY} )
-Edité par ThomasAirain 24 avril 2024 à 11:28:42
Vous pouvez rédiger votre message en Markdown ou en HTML uniquement.
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr