我学习c ++,OpenMP。我尝试使用omp_get_wtime编译程序,但它不起作用,但是当我删除它时,它可以工作。我必须添加一些东西,但是在什么地方。在openmptryflags还是Cmakelists中?
snap/clion/61/bin/cmake/linux/bin/cmake --build /home/bapah/CLionProjects/omp1/cmake-build-debug --target omp1 -- -j 6 [ 50%] Linking CXX executable omp1 CMakeFiles/omp1.dir/main.cpp.o: In function `main': /home/bapah/CLionProjects/omp1/main.cpp:36: undefined reference to `omp_get_wtime' collect2: error: ld returned 1 exit status CMakeFiles/omp1.dir/build.make:83: recipe for target 'omp1' failed make[3]: *** [omp1] Error 1 CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/omp1.dir/all' failed make[2]: *** [CMakeFiles/omp1.dir/all] Error 2 CMakeFiles/Makefile2:84: recipe for target 'CMakeFiles/omp1.dir/rule' failed make[1]: *** [CMakeFiles/omp1.dir/rule] Error 2 Makefile:118: recipe for target 'omp1' failed make: *** [omp1] Error 2
答案 0 :(得分:2)
解决方案: 添加到CMakeList.txt
SET_TARGET_PROPERTIES(omp1 PROPERTIES COMPILE_FLAGS "-fopenmp"
LINK_FLAGS "-fopenmp")
P.s。 omp1-为您的项目命名。
P.p.s。你也可以写target_link_libraries(omp1 -fopenmp)