我是新来的CMake和无法理解一些使用概念。

我打电话从AC ++程序的python脚本:

#包括 
。
Py_Initialize();
PyRun_SimpleFile(。);
Py_Finalize();

在我的cmake文件中的相应cmake的项目有:

FIND_PACKAGE(PythonLibs必填)
。
TARGET_LINK_LIBRARIES(所有MyApplication $ {} PYTHON_LIBRARIES)

这工作只要我的Python脚本不使用安装到站点包目录中的任何模块,否则我得到一个ImportError。 展示了如何找到C进行站点包目录的位置,但我应该怎么告诉CMake的用它做?

编辑:问题解决。原来FIND_PACKAGE(PythonLibs)从什么我通常使用(在/ usr / local / lib目录/ libpython2找到一个不同的Python安装。7。dylib而不是/库/框架/ Python的。框架/版本/ 2.7 / LIB / libpython2.7。dylib - 我在Mac),这是我如何获得标准的模块,但都不是我自己安装。要改变PYTHONPATH恢复正常,我加

尝试:
  进口some_package
除了导入错误:
  如果在SYS“my_python_路径”。路径:提高
  sys。path。附加( “my_python_path”)

在我的python脚本的顶部。

你可以告诉cmake的地方通过指定要你这样的Python库的路径,找到这个PythonLibs:

cmake的-DPYTHON_LIBRARIES = /库/框架/ Python的。框架/版本/ 2.7 / LIB / libpython2.7。dylib 。

那么这将在$ {} PYTHON_LIBRARIES的cmake里面设置了正确的道路。

要找出其他可能的选项(besided PYTHON_LIBRARIES)可以给你的cmake(与-DARG选项)尝试运行

ccmake 。

然后按C键配置和吨高级选项。

例如,你可能还需要设置

-DPYTHON_LIBRARY =“/ softwarepath / Python的/ Python2.7 / LIB / libpython2.7。因此“
-DPYTHON_INCLUDE =“/ softwarepath / Python的/ Python2.7 /包括“

:>>


本文链接:cmake发现错误的python库

您可能也会喜欢

友情链接:

大悲咒注音 心经唱诵 经文