ich die Cilk und Anmerkungen in meinem C++ Programm, so etwas wie verwenden müssen:Cilk und Annotation mit JetBrains Clion IDE (C++)
#inlcude <cilk/cilk.h>
cilk_spawn myFunction();
cilk_sync;
Ich verwende JetBrains CLION IDE und ich erhalte die Fehler Fehler nach Makrosubstitution: Typ '_Cilk_spawn' kann nicht aufgelöst werden. Ich frage mich, ob es eine Lösung gibt. Natürlich, mit g ++ direkt von meinem Terminal, ich füge einfach die Option-fcilkplus, aber in diesem Fall weiß ich nicht, wie Sie dieses Problem lösen. Hier ist der Inhalt meiner CMakeLists.txt Datei (aktualisiert):
cmake_minimum_required(VERSION 3.8)
project(C__Threads)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
set(CMAKE_CXX_FLAGS "-fcilkplus") // I've also put this one because otherwise the building process fails.
add_executable(C__Threads ${SOURCE_FILES})
target_compile_options(C__Threads PUBLIC -fcilkplus)
set(CMAKE_VERBOSE_MAKEFILE ON)
Und dies ist der Build-Ausgabe (aktualisiert):
/home/leo/clion-2017.2.3/bin/cmake/bin/cmake --build /home/leo/CLionProjects/C++Threads/cmake-build-debug --target C__Threads -- -j 4
/home/leo/clion-2017.2.3/bin/cmake/bin/cmake -H/home/leo/CLionProjects/C++Threads -B/home/leo/CLionProjects/C++Threads/cmake-build-debug --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/make -f CMakeFiles/Makefile2 C__Threads
make[1]: Entering directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
/home/leo/clion-2017.2.3/bin/cmake/bin/cmake -H/home/leo/CLionProjects/C++Threads -B/home/leo/CLionProjects/C++Threads/cmake-build-debug --check-build-system CMakeFiles/Makefile.cmake 0
/home/leo/clion-2017.2.3/bin/cmake/bin/cmake -E cmake_progress_start /home/leo/CLionProjects/C++Threads/cmake-build-debug/CMakeFiles 2
/usr/bin/make -f CMakeFiles/Makefile2 CMakeFiles/C__Threads.dir/all
make[2]: Entering directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
/usr/bin/make -f CMakeFiles/C__Threads.dir/build.make CMakeFiles/C__Threads.dir/depend
make[3]: Entering directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
cd /home/leo/CLionProjects/C++Threads/cmake-build-debug && /home/leo/clion-2017.2.3/bin/cmake/bin/cmake -E cmake_depends "Unix Makefiles" /home/leo/CLionProjects/C++Threads /home/leo/CLionProjects/C++Threads /home/leo/CLionProjects/C++Threads/cmake-build-debug /home/leo/CLionProjects/C++Threads/cmake-build-debug /home/leo/CLionProjects/C++Threads/cmake-build-debug/CMakeFiles/C__Threads.dir/DependInfo.cmake --color=
make[3]: Leaving directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
/usr/bin/make -f CMakeFiles/C__Threads.dir/build.make CMakeFiles/C__Threads.dir/build
make[3]: Entering directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
[ 50%] Building CXX object CMakeFiles/C__Threads.dir/main.cpp.o
/usr/bin/c++ -fcilkplus -g -fcilkplus -std=gnu++11 -o CMakeFiles/C__Threads.dir/main.cpp.o -c /home/leo/CLionProjects/C++Threads/main.cpp
[100%] Linking CXX executable C__Threads
/home/leo/clion-2017.2.3/bin/cmake/bin/cmake -E cmake_link_script CMakeFiles/C__Threads.dir/link.txt --verbose=1
/usr/bin/c++ -fcilkplus -g CMakeFiles/C__Threads.dir/main.cpp.o -o C__Threads
make[3]: Leaving directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
[100%] Built target C__Threads
make[2]: Leaving directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
/home/leo/clion-2017.2.3/bin/cmake/bin/cmake -E cmake_progress_start /home/leo/CLionProjects/C++Threads/cmake-build-debug/CMakeFiles 0
make[1]: Leaving directory '/home/leo/CLionProjects/C++Threads/cmake-build-debug'
Clion verwendet [CMake] (https://cmake.org/) für seine Projekte. Ich schlage vor, Sie lesen seine [Dokumentation] (https://cmake.org/cmake/help/latest/index.html). –
Das Problem ist nicht CMake. Ich denke, ich habe es geschafft, die Option -fcilkplus zu übergeben, aber die IDE wird nicht kompiliert (es gibt immer noch die rote Linie unter dem Schlüsselwort cilk_spawn). – leqo
Wenn Sie [die 'cilk-plus'-Tag-Info] lesen (https://stackoverflow.com/tags/cilk-plus/info), heißt es "** Intel® ** Cilk ™ Plus ist eine Erweiterung von C und C++ "(Hervorhebung meiner). Intel Spracherweiterungen wie diese sind normalerweise nur in den Intel Compilern, sind Sie sicher, dass GCC es unterstützt? –