构建pybind11 proj时如何定义include & lib路径

How to define the include & lib path when building pybind11 proj

我正在使用 Visual Studio (2017) 构建一个 pybind11 项目。安装文件如下:


from setuptools import setup, Extension
import pybind11

# The following is for GCC compiler only.
#cpp_args = ['-std=c++11', '-stdlib=libc++', '-mmacosx-version-min=10.7']
cpp_args = []

sfc_module = Extension(
    'test_sample',
    sources=['Test.cpp'],
    include_dirs=[pybind11.get_include()],
    language='c++',
    extra_compile_args=cpp_args,
    )

setup(
    name='test_sample',
    version='1.0',
    description='Python package with Test C++ extension (PyBind11)',
    ext_modules=[sfc_module],
)

那么在windows次方shell,我会运行

python setup.py build

但是它抱怨找不到多个包含文件,我相信它稍后也会抱怨缺少库文件:

C:\VS2017Pro\VC\Tools\MSVC\xxxx\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Anaconda3_CS\lib\site-packages\pybind11\include -IC:\Anaconda3_CS\include -IC:\Anaconda3_CS\include -IC:\VS2017Pro\VC\Tools\MSVC\xxxx\ATLMFC\include -IC:\VS2017Pro\VC\Tools\MSVC\xxxx\include /EHsc /TpCppPython.cpp /Fobuild\temp.win-amd64-3.7\Release\Test.obj
Test.cpp

Z:\test_pybind11\stdafx.h(8): fatal error C1083: Cannot open include file: 'targetver.h': No such file or directory

我知道这个 targetver.h 在哪里,只是不知道如何将它的位置添加到包含路径中。

非常感谢您的帮助。

我知道在哪里添加更多包含路径和库路径。一是需要在系统环境变量中添加它们:INCLUDE 和 LIB。 控制面板->编辑环境变量。然后将包含文件的所有预期路径添加到变量 INCLUDE,并将所有库路径添加到变量 LIB。 那么重建应该是成功的。