天天看點

C語言編寫多線程報錯unresolved external symbol __imp__pthread_join

今天用java寫了作業系統中的哲學家進餐的問題,想在VC6.0上用C語言編寫,配置好了相關操作後,編譯的時候報錯:

mainMethod.obj : error LNK2001: unresolved external symbol __imp__pthread_join

mainMethod.obj : error LNK2001: unresolved external symbol __imp__pthread_create

這個錯誤的解釋是無法解析的外部辨別pthread_join,LNK2001這種錯誤是連結錯誤,大概是在編譯此檔案的時候,碰到pthread_join和pthread_create這兩個函數的時候,沒有連結到對應的庫函數,然後報錯

解決方法:在聲明部分加上#pragma comment(lib, "pthreadVC2.lib"),加這句話的意思是在編譯此檔案時,告訴編譯器在編譯形成的.obj檔案和.exe檔案中加一條資訊,使得 連結器在連結庫的時候要去找pthreadVC2.lib這個庫,不要先去找别的庫。