zoukankan      html  css  js  c++  java
  • CMake解决c++11的phread库问题:undefined reference to `pthread_create’

    方法一

    PROJECT(HELLO)
    set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} -std=c++11")
    AUX_SOURCE_DIRECTORY(. SRC_LIST)
    ADD_EXECUTABLE(hello ${SRC_LIST})
    

    从cmake的CMakeLists.txt文件中可以看出cmake是像g++使用c++11特性一样,都有-std=c++11,所以像一样加个-pthread解决就行。

    PROJECT(HELLO)
    set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} -std=c++11 -pthread")
    AUX_SOURCE_DIRECTORY(. SRC_LIST)
    ADD_EXECUTABLE(hello ${SRC_LIST})
    

    方法二

    使用包Threads和链接${CMAKE_THREAD_LIBS_INIT}

    PROJECT(HELLO)
    set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} -std=c++11")
    FIND_PACKAGE(Threads)
    AUX_SOURCE_DIRECTORY(. SRC_LIST)
    ADD_EXECUTABLE(hello ${SRC_LIST})
    TARGET_LINK_LIBRARIES(hello ${CMAKE_THREAD_LIBS_INIT})
    
    
  • 相关阅读:
    linux防火墙iptables
    etc/fstab
    EDT改成CST
    echo
    dd
    chown
    CAT
    Linux grep
    CHECKSUM比较两表字段值差异
    通过GitHub部署项目到Nginx服务器
  • 原文地址:https://www.cnblogs.com/long5683/p/12992658.html
Copyright © 2011-2022 走看看