只是要清楚 - 我已經在網上搜索的深度和背的信息,如何做到這一點如何爲Visual Studio 2005安裝pthread_win32(Windows pthread/posix線程庫)?
我在尋找幫助建立pthread_Win32與Visual Studio 2005的工作,我的編程在C中,我有一些使用pthread.h編寫的多線程任務。但是,由於pthread是unix的本地特性,因此我必須編寫所有代碼,然後將其寫入到我的班級遠程unix系統中以運行它。它使得開發需要更長的時間,而且效率非常低。我非常喜歡(比什麼都重要)能夠在我的win32機器上工作,所以我可以在Visual Studio中開發,就像我已經做了相當長的一段時間。
我已經將pthread.lib文件和pthread.h文件安裝到相應的lib /頭文件目錄中,其中所有其他文件都位於其中。另一方面(實際庫)的DLL,我放在c:\ windows \ system32中。我試圖添加DLL作爲依賴項(右鍵單擊項目 - >引用 - >添加新引用),但正如其他人所說,我得到的只是一個空白的對話框,沒有選擇添加任何DLL文件或任何東西。這似乎認識到了頭文件,但是當我編譯我得到這些錯誤:
1>鏈接...
1> main.obj:錯誤LNK2019:解析外部符號_ 小鬼 _pthread_join中引用函數_main
1> main.obj:錯誤LNK2019:解析外部符號_ imp的 _pthread_create在函數引用_main
1> main.obj:錯誤LNK2019:解析外部符號_ 小鬼 _pthread_exit在函數引用_fcount
從我的研究,我確定這是與DLL中的一個問題,我假設它無法找到的,我在我的代碼中引用的函數的定義。我搜索了高和低,我似乎無法找出任何方法來克服這個問題。我已經將lib /頭文件的目錄添加到了我的鏈接器中,以防萬一,但這並沒有解決問題。我需要在visual studio中做一些事情來指定我需要將pthreadVC2.dll作爲項目依賴項 - 並且在這一點上似乎不可能(並且非常令人沮喪)。
任何智慧的話?
非常感謝您
通常__imp_thread_join東西意味着它認爲它是C++,但公司的C ...也許嘗試在包含內添加一個外部C {}塊。 – rogerdpack 2012-09-24 20:20:57