c++使用thread類時編譯出錯,對‘pthread_create’未定義的引用
thread_c.c:(.text+0x1f): undefined reference to `pthread_create'
thread_c.c:(.text+0x52): undefined reference to `pthread_create'
thread_c.c:(.text+0x7d): undefined reference to `pthread_join'
thread_c.c:(.text+0xa9): undefined reference to `pthread_join'
查了老半天,以為代碼的問題,最後才知道是因為pthread庫不是Linux系統默認的庫,連接時需要使用庫libpthread.a,所以在使用pthread_create創建線程時,在編譯中要加-lpthread參數:gcc test_thread.c
-lpthread -o test_thread. 加上這個以後編譯成功!
c++使用thread類時編譯出錯,對‘pthread_create’未定義的引用
相關推薦
c++使用thread類時編譯出錯,對‘pthread_create’未定義的引用
cti undefine defined 系統默認 func ext reat lec status /tmp/ccM2tvqF.o: In function `main':thread_c.c:(.text+0x1f): undefined reference t
Y86-64模擬器的安裝與出現對'matherr'未定義引用問題的解決
一. Y86-64模擬器的安裝 我是參照這位博主的文章安裝的模擬器安裝,想安裝GUI版本的,到了第五步編譯的過程中出現了對'matherr'未定義引用的錯誤. 二. 解決問題,編譯GUI介面 進入sim目錄:cd sim 輸入make clean;
C++ Thread類傳入某類的函式作為引數時,要在隨後傳入該類的物件
std::thread 呼叫類的成員函式需要傳遞類的一個物件作為引數: #include <thread> #include <iostream> class bar { public: void foo() { std::cout << "he
Thread類的sleep()方法和對象的wait()方法都可以讓線程暫停執行,它們有什麽區別? 線程的sleep()方法和yield()方法有什麽區別?
阻塞 可移植性 喚醒 ora 暫停 obj 狀態 ati 對象 Thread類的sleep()方法和對象的wait()方法都可以讓線程暫停執行,它們有什麽區別? sleep()方法(休眠)是線程類(Thread)的靜態方法,調用此方法會讓當前線程暫停執行指定的時間,將執
python3+selenium自動化測試:除錯python程式錯誤記錄,呼叫類時格式出錯
如圖所示,driver後面的括號報錯,當時不明白缺少了什麼,後來查資料,才知道,Login物件化的格式錯誤,應該寫為Login()。 修改後沒有再報錯。 程式碼如下: from selenium import webdriver from public impor
C#或 VB.NET通過 ServiceController 程式碼控制Windows服務安裝解除安裝過程出錯,對windows服務程式檔案佔用,無法釋放資源問題
一、VS報的錯誤 二、程式碼 三、錯誤分析 1.首先,這個錯誤是因為檔案許可權問題引起的,筆者系統為WIN10,VS2017。筆者在給要控制安裝啟動的windows服務程式資料夾新增上“Everyone”許可權後,是可以正常通過程式碼正常控制windows服務的安裝、
cmd執行Java命令時編譯通過,但是找不到主類或無法載入主類
剛剛開始學習Java時,發現一個重大問題,CMD執行javac命令能編譯,但是隻要執行java命令就顯示無法載入主類,但是eclipse正常執行,困擾了我很久,後來發現問題所在,是一個很奇葩的問題,給大家分享一下: 就是在用java命令時不要加.class字尾名!!!
(轉)C語言的條件編譯#if, #elif, #else, #endif、#ifdef, #ifndef
n+1 ifdef int pan 不能 ica 推薦 代碼 表達式 有些程序在調試、兼容性、平臺移植等情況下可能想要通過簡單地設置一些參數就生成一個不同的軟件,這當然可以通過變量設置,把所有可能用到的代碼都寫進去,在初始化時配置,但在不同的情況下可能只用到一部分代碼,就
《JVM》(四)Class類文件結構,對象的創建
style 使用 kit 數列 初始 text nor 分配 b-s Class類文件結構class文件是一組以8字節為單位的二進制流,只有兩種數據類型:無符號數(基本數據類型),表(復合數據類型) 魔數 版本號 常量池(占class空間最
Maven編譯出錯,Tomat無法啟動
使用idea執行專案時,報錯如下。 Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (
執行緒的兩種建立方式:Thread類和Runnable介面,它們都要複寫run方法
/*執行緒: * 1.如何在自定義的程式碼中,自定義一個執行緒呢? * * 通過對API的查詢,java已提供了對執行緒這類事物的描述。就是Thread類 * * 建立執行緒的第一種方式:繼承Thread類。 * 步驟: * 1.定義類繼承Thread。
g++編譯時對'xxxx'未定義的引用問題(undefined reference to)
引用:http://www.linuxdiyf.com/linux/16754.html 在使用gcc編譯的時候有時候會碰到這樣的問題,編譯為.o(obj) 檔案沒有問題,但是編譯(這一步應該是連結)為可執行檔案的時候會出現找不到’xxx’的定義的情況。 例如: g++ -
在C++控制檯專案中使用C工程程式碼時的注意,避免出現error LNK2019: 無法解析的外部符號
當我們在寫 C++控制檯專案時候,有時用到一些執行緒的演算法程式碼專案,這些程式碼專案是用c寫的。當使用時,需要在c的標頭檔案中標註如下內容,才能使得cpp檔案能夠編譯使用c的函式等,才避免在編譯時候出現error LNK2019: 無法解析的外部符號###,在_main中
自定義Thread類中run()方法,super().run 的理解
當我們重寫Thread類中的run方法時,經常會看到這樣的程式碼: public void run() { super.run(); System.out.println(Thread.currentThread().getName(
centos安裝libxml2時編譯出錯
錯誤資訊: libxml.c:3909: error: 'PyObject' undeclared (first use in this function) libxml.c:3909: error:
C++ Thread類報錯
#include <thread> #include <iostream> void start_thread(int& param) { std::cout << param << std::endl; } i
Qt問題1:編譯出錯,退出程式碼2
初次使用Qt,建立了簡單的工程,編譯之後出現錯誤如下: Cannot find file: C:\Users\102\Desktop\codes\learnQt\QStackedWidg
一個棧,只提供push,pop,top,empty四種操作(這四種操作就是C++標準裡的操作),對該棧的元素進行排序
#include<stack> #include<stdio.h> #include<stdlib.h> using namespace std; stack<
C++對於類訪問許可權public,protected,private的深刻理解
本帖轉自網路,查詢不到原作者,如有冒犯,深表歉意! 1 #include <IOSTREAM> 2 using namespace std; 3 4 class A{ 5 public: 6 A(int i_,int j_) 7
C++string類常用介面說明,深淺拷貝
標準庫中的string類 string是表示字串的字串類 該類的介面與常規容器的介面基本相同,再添加了一些專門用來操作string的常規操作。 string在底層實際是:basic_string模板類的別名,typedef basic_string<char,ch