簡體   English   中英

Cmake在Windows上使用Python的麻煩

[英]Cmake trouble with python on windows

我試圖在Windows上使用cmake構建C ++項目。 但是我發現一個錯誤:

CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.3/Modules/FindPackageH
andleStandardArgs.cmake:148 (message):
  Could NOT find PythonLibs (missing: PYTHON_LIBRARIES) (found suitable
  version "3.4.1", minimum required is "3.4")
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake/share/cmake-3.3/Modules/FindPackageHandleStandard
Args.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files (x86)/CMake/share/cmake-3.3/Modules/FindPythonLibs.cmake:205
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:8 (find_package)

即,cmake無法找到PYTHON_LIBRARIES目標。 但是我的電腦上安裝了Python 3.4.1。 我的操作系統是Windows 7專業版x64。 如果我在Linux上構建此項目,則可以正常工作。

哪里有問題? 我如何幫助cmake查找PYTHON_LIBRARIES

這是我的CMakeLists文件:

cmake_minimum_required(VERSION 3.2)
set(CMAKE_VERBOSE_MAKEFILES on)
project(Proj)
set(SOURCE_FILES repeating_count.cpp)

set(CMAKE_VERBOSE_MAKEFILE on)
set(Python_ADDITIONAL_VERSIONS 3.4.1)
find_package(PythonLibs 3.4 REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
python_add_module(repeating_count repeating_count.cpp)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_executable(Proj ${SOURCE_FILES})
target_link_libraries(Proj ${PYTHON_LIBRARIES})

我解決了我的問題。 我的默認Cmake生成器是Visual Studio 12 2013。

因此,如果我將其更改為Visual Studio 12 2013 Win64 (例如,使用Cmake GUI),它將找到PYTHON_LIBRARIES目標並可以正常工作。

嘗試:

find_package(PythonLibs 3.4.1 EXACT REQUIRED)

代替

find_package(PythonLibs 3.4 REQUIRED)

暫無
暫無

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

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