linux pthread windows,CMake:在Windows中找不到<pthread.h>

我是CMake的新手。我在Linux上測試了我正在製作的程序。這個程序使用(POSIX線程LIB),所以在我CMakeList,我說:CMake:在Windows中找不到

find_package(Threads)

它適用於Linux的發行商(拱,薄荷,Ubuntu的,...),但現在,我想它WINDOWS32(Visual Studio的9 2008年),我生成過程中得到這個消息:

-- Looking for include file pthread.h - not found

(當我編譯輸出的項目文件,pthread.h確實沒有找到)。

在Windows上,考慮到 「C:\並行線程」 作爲我的並行線程的目錄,我在路徑定義:

「C:\並行線程\包括」(其中位於著名的 「pthread.h」)

「C:\並行線程\」(在CMake的尋找一個「有」的地方的情況下)

但我仍然得到同樣的錯誤(即使刪除後高速緩存)。我知道我可以在項目中「手動」添加Pthread,或者在CMakeList.txt中定義一些常量,但我認爲這不是CMake的原理:我可以在所有系統上使用相同的「CMakeList.txt」,對吧?所以我怎麼告訴CMake「嘿!看這裏!Pthread在這個目錄!」。 也許Cmake沒有查找PATH,但是在另一個環境變量中,但是我沒有找到這個信息。

謝謝您的閱讀。

編輯:我不知道這是否有差別,但我的項目是一個C++項目(非C)

2012-11-04

Neozaru

+0

由於沒有標準在運行cmake-gui時,Windows CMake上include和庫文件的路徑經常需要幫助很長時間。第二個選擇是許多查找器查找環境變量。因此,例如在我的Windows安裝中找到ITK,我在啓動cmake-gui的cmd.exe會話中設置了ITK_DIR。許多軟件包也一樣。還有find_package選項,可以用來幫助控制CMake在哪裏尋找可以提供幫助的軟件包。 –

+0

在CMake 2.8.10中查看FindThreads的代碼,它看起來像在Windows上默認使用Windows線程。 –

+0

我沒有測試過。查看是否設置了CMAKE_USE_PTHREADS_INIT或者只是CMAKE_USE_WIN32_THREADS_INIT。 –

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值