#include <thread> #include <iostream> void hello() { std::cout << "Hello World!" << std::endl; } int main() { std::thread t(hello); t.join(); return 0; }Było trochę kłopotów przy próbie kompilacji (gcc - 4.7.3, clang - 3.2-1). gcc potrzebuje dodatkowej flagi w postaci pthread, natomiast clang w wersji 3.2 jeszcze nie radzi sobie z wątkami, ale i na to znalazł się sposób.
Budowanie z linii poleceń:
$ g++ -pthread --std=c++11 main.cpp $ clang++ -pthread --std=c++11 \ -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 \ -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 \ -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 \ -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 main.cppPoniżej ustawienie dla CMakeList.txt (cmake):
project(thread_hello) cmake_minimum_required(VERSION 2.8) aux_source_directory(. SRC_LIST) add_executable(${PROJECT_NAME} ${SRC_LIST}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
Brak komentarzy:
Prześlij komentarz