簡體   English   中英

OS X cmake找不到PythonLibs 3.4

[英]OS X cmake can't find PythonLibs 3.4

python和python3通過Homebrew安裝在OS X Yosemite中,但是cmake無法找到PythonLibs 3,只有2:


的CMakeLists.txt:

set(Python_ADDITIONAL_VERSIONS 3.4)
FIND_PACKAGE(PythonInterp REQUIRED)
FIND_PACKAGE(PythonLibs 3.4 REQUIRED)

得到:

-- Found PythonInterp: /usr/local/bin/python3.4 (found suitable version "3.4.3", minimum required is "3.4")
-- Found PythonLibs: /usr/lib/libpython3.4.dylib (found version "2.7.6"

的CMakeLists.txt:

set(Python_ADDITIONAL_VERSIONS 3.4)
FIND_PACKAGE(PythonInterp 3.4 REQUIRED)
FIND_PACKAGE(PythonLibs 3.4 REQUIRED)

得到:

Could NOT find PythonLibs: Found unsuitable version "2.7.6", but required
is at least "3.4" (found PYTHON_LIBRARY-NOTFOUND)


然后我將其添加到cmake列表:

INCLUDE_DIRECTORIES(/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib)
INCLUDE_DIRECTORIES(/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/include/python3.4m)

甚至將該目錄復制到/usr/lib ,然后得到:

Could NOT find PythonLibs: Found unsuitable version "2.7.6", but required
is at least "3.4" (found /usr/lib/libpython3.4.dylib)

看起來很奇怪。

看起來在您的CMake配置中找到了正確的Python版本,但是還需要設置庫的位置。 根據您的安裝/配置,庫的位置可能會有所不同,但在配置中您需要類似的東西:

PYTHON_LIBRARIES=/Library/Frameworks/Python.framework/Versions/3.4/lib/libpython3.4m.dylib
PYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.4/include/python3.4m

http://www.cmake.org/cmake/help/v3.0/module/FindPythonLibs.html

您需要在“LD_LIBRARY_PATH”環境變量中添加庫的路徑。 通過這種方式,CMake將知道在哪里尋找它們。 多個python安裝或安裝在非標准位置時可能會發生這種情況。 這應該解決它:

export LD_LIBRARY_PATH=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib:$LD_LIBRARY_PATH

CMake命令“INCLUDE_DIRECTORIES”僅用於標題(aka。/ usr / include)。

- >如果我的解決方案不起作用,請確保安裝 python-devel: 如何在Mac OS中安裝python-devel?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM