我安装了两个版本的python,但是cmake使用的是旧版本。如何强制cmake使用更新版本?
发布于 2016-01-03 20:01:02
您可以根据需要尝试这两种方法中的一种:
对于CMake >= 3.12
根据变化量g:
新的"FindPython3“和"FindPython2”模块,以及新的 "FindPython“模块已被添加,以提供一种新的定位方法。 python环境。
find_package(Python COMPONENTS Interpreter Development)这个模块看起来最好是Python的第3版。如果找不到,则搜索版本2。要管理Python的并发版本3和2,请使用FindPython3和FindPython2模块而不是这个模块。
对于CMake < 3.12
find_package(PythonInterp 2.7 REQUIRED)
find_package(PythonLibs 2.7 REQUIRED)发布于 2013-03-08 10:20:01
尝试添加-DPYTHON_EXECUTABLE:FILEPATH=/path/to/python2.7它可能是路径问题吗?
还可以指定python库的路径,使用您想要的版本:
cmake -DPYTHON_LIBRARIES=/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib .发布于 2013-04-16 19:55:52
我也遇到了类似的问题,并使用保罗的回答作为提示解决了问题。我需要使用python2.7来编译一个旧的库,但是cmake一直在收集我的python3.2库(和可执行文件)。
首先,我使用默认选项运行cmake,然后编辑它生成的CMakeCache.txt文件。我这样做主要是因为我不知道正确的-D...咒语会导致cmake获得python库并包含路径等等。
在我的CmakeCache.txt中,我发现了这样的线条
并将python3.2的每次发生替换为python2.7。我还必须重命名PYTHON_EXECUTABLE以使用python2.7,因为python是到系统上python3.2的一个符号链接。
然后我重新运行cmake。由于它更喜欢缓存的值,而不是实际查找库,所以在所有情况下都应该这样做。至少在我身上是这样的。
https://stackoverflow.com/questions/15291500
复制相似问题