1797

I am trying to build a shared library using a C extension file but first I have to generate the output file using the command below:

gcc -Wall utilsmodule.c -o Utilc

After executing the command, I get this error message:

> utilsmodule.c:1:20: fatal error: Python.h: No such file or directory
compilation terminated.

I have tried all the suggested solutions over the internet but the problem still exists. I have no problem with Python.h. I managed to locate the file on my machine.

Donald Duck
  • 8,409
  • 22
  • 75
  • 99
Mohanad Y.
  • 18,278
  • 3
  • 12
  • 12

35 Answers35

3377

Looks like you haven't properly installed the header files and static libraries for python dev. Use your package manager to install them system-wide.

For apt (Ubuntu, Debian...):

sudo apt-get install python-dev   # for python2.x installs
sudo apt-get install python3-dev  # for python3.x installs

For yum (CentOS, RHEL...):

sudo yum install python-devel    # for python2.x installs
sudo yum install python3-devel   # for python3.x installs

For dnf (Fedora...):

sudo dnf install python2-devel  # for python2.x installs
sudo dnf install python3-devel  # for python3.x installs

For zypper (openSUSE...):

sudo zypper in python-devel   # for python2.x installs
sudo zypper in python3-devel  # for python3.x installs

For apk (Alpine...):

# This is a departure from the normal Alpine naming
# scheme, which uses py2- and py3- prefixes
sudo apk add python2-dev  # for python2.x installs
sudo apk add python3-dev  # for python3.x installs

For apt-cyg (Cygwin...):

apt-cyg install python-devel   # for python2.x installs
apt-cyg install python3-devel  # for python3.x installs

Note: python3-dev does not automatically cover all minor versions of python3, if you are using e.g. python 3.8 you may need to install python3.8-dev.

Donald Duck
  • 8,409
  • 22
  • 75
  • 99
wim
  • 338,267
  • 99
  • 616
  • 750
  • What about Arch Linux? – JavaRunner Feb 14 '22 at 11:06
  • 3
    What if we don't have su access on the machine? I'm working in a viritual env with local user authorization. Is there any "pip"-like fix available, or someplace we can manually place a copy of Python.h? – sh37211 Jul 21 '22 at 20:06
  • 1
    @sh37211 Yeah, you would usually just download the CPython sources to your homedir. Some custom linker options providing the path would usually be required in that case. – wim Nov 15 '22 at 02:25
  • cygwin doesn't provide anything called "apt-cyg", so what is that, & how do I install it into cygwin? – Phil Goetz Feb 04 '23 at 05:13
  • 1
    @PhilGoetz See [how to install apt-cyg for Cygwin?](https://stackoverflow.com/q/45286337/674039) – wim Feb 04 '23 at 20:03
  • 4
    It seems that we need to install the specific python(2-3)-dev version. Sample for 3.11: `sudo apt-get install python3.11-dev`. Only this worked for me. – Thanos Feb 08 '23 at 09:42
  • 1
    @sh37211 a bit late but i would go with linuxbrew. Compiling python from source needs some (a lot) packages installed from system package manager too – Francisco Pena Jun 22 '23 at 09:14
  • IF you are using Ubuntu 22.04 use `sudo apt install python2-dev` – liorko Aug 01 '23 at 11:34
537

On Ubuntu, I was running Python 3 and I had to install

sudo apt-get install python3-dev

If you want to use a version of Python that is not linked to python3, install the associated python3.x-dev package. For example:

sudo apt-get install python3.5-dev
FreshPow
  • 6,782
  • 1
  • 15
  • 17
  • 6
    If you are using virtual envs with different python versions, make sure to create the virtual env after the necessary dev package is installed. Otherwise the header files won't be copied correctly. – ruhsuzbaykus Feb 28 '22 at 22:10
  • The python version addition was quite helpful in my case – Chiffa Mar 13 '23 at 09:38
401

For Python 3.7 and Ubuntu in particular, I needed

sudo apt install libpython3.7-dev

. I think at some point names were changed from pythonm.n-dev to this.

for Python 3.6, 3.8 through 3.10 (and counting…) similarly:

sudo apt install libpython3.6-dev

sudo apt install libpython3.8-dev

sudo apt install libpython3.9-dev

sudo apt install libpython3.10-dev

sudo apt install libpython3.11-dev

andyw
  • 3,505
  • 2
  • 30
  • 44
ijoseph
  • 6,505
  • 4
  • 26
  • 26
95

Two things you have to do.

Install development package for Python, in case of Debian/Ubuntu/Mint it's done with command:

sudo apt-get install python-dev

Second thing is that include files are not by default in the include path, nor is Python library linked with executable by default. You need to add these flags (replace Python's version accordingly):

-I/usr/include/python2.7 -lpython2.7 

In other words your compile command ought to be:

gcc -Wall -I/usr/include/python2.7 -lpython2.7  utilsmodule.c -o Utilc 
vartec
  • 131,205
  • 36
  • 218
  • 244
40

on Fedora run this for Python 2:

sudo dnf install python2-devel

and for Python 3:

sudo dnf install python3-devel
Martin Tournoij
  • 26,737
  • 24
  • 105
  • 146
ravi.zombie
  • 1,482
  • 1
  • 20
  • 23
34

If you are using tox to run tests on multiple versions of Python, you may need to install the Python dev libraries for each version of Python you are testing on.

sudo apt-get install python2.6-dev 
sudo apt-get install python2.7-dev 
etc.
Christian Long
  • 10,385
  • 6
  • 60
  • 58
33

Make sure that the Python dev files come with your OS.

You should not hard code the library and include paths. Instead, use pkg-config, which will output the correct options for your specific system:

$ pkg-config --cflags --libs python2
-I/usr/include/python2.7 -lpython2.7

You may add it to your gcc line:

gcc -Wall utilsmodule.c -o Utilc $(pkg-config --cflags --libs python2) 
sleblanc
  • 3,821
  • 1
  • 34
  • 42
30

For me, changing it to this worked:

#include <python2.7/Python.h>

I found the file /usr/include/python2.7/Python.h, and since /usr/include is already in the include path, then python2.7/Python.h should be sufficient.

You could also add the include path from command line instead - gcc -I/usr/lib/python2.7 (thanks @erm3nda).

sashoalm
  • 75,001
  • 122
  • 434
  • 781
29

Solution for Cygwin

You need to install the package python2-devel or python3-devel, depending on the Python version you're using.

You can quickly install it using the 32-bit or 64-bit setup.exe (depending on your installation) from Cygwin.com.

Example (modify setup.exe's filename and Python's major version if you need):

$ setup.exe -q --packages=python3-devel

You can also check my other answer for a few more options to install Cygwin's packages from the command-line.

David Ferenczy Rogožan
  • 23,966
  • 9
  • 79
  • 68
28

In AWS API (centOS) its

yum install python27-devel
Tadeusz Kopec for Ukraine
  • 12,283
  • 6
  • 56
  • 83
yespbs
  • 415
  • 4
  • 4
  • This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient [reputation](http://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](http://stackoverflow.com/help/privileges/comment). – Wtower Jul 09 '15 at 07:58
  • 2
    @Wtower Yes, it does provide an answer. – Tadeusz Kopec for Ukraine Jul 09 '15 at 14:28
  • 1
    It does provide an answer. Although you have to substitute the version for what you need. – Ganesh Krishnan Aug 03 '15 at 02:45
  • 1
    this helped overcome my issues attempting to `pip install cryptography` on an amazon linux instance. – ryantuck Mar 06 '17 at 23:34
  • This was a helpful answer, while it is possible to install python-devel or python2-devel on Amazon Linux, this is the only one that actually worked for me when running a pip install inside a virtualenv – Kristofor Carle Oct 18 '17 at 02:15
28

AWS EC2 install running python34:

sudo yum install python34-devel

parsethis
  • 7,998
  • 3
  • 29
  • 31
18

If you use a virtualenv with a 3.6 python (edge right now), be sure to install the matching python 3.6 dev sudo apt-get install python3.6-dev, otherwise executing sudo python3-dev will install the python dev 3.3.3-1, which won't solve the issue.

Guillaume Cisco
  • 2,859
  • 24
  • 25
  • 1
    Worked great for me on 3.5(.2), too. Explicitly installing the right dev package for your version of Python is a Good Thing. – Seth May 29 '17 at 13:52
18

This problem can also arise when you have different Python versions installed and you use a pip that's not the system's one. In that case, the non-system pip won't find the right version of Python headers.

It happened to me when trying to pip install a package for a Python bundled with an application. As it was not system's python, apt install pythonXX-dev didn't work.

In this case, the solution is to find the right python header:

find / -iname 'Python.h'

In the output, you will see system python headers, and hopefully the one you are looking for, for example:

/usr/include/python3.7m/Python.h
/usr/include/python3.6m/Python.h
/home/ubuntu/workspace/blender-git/lib/linux_centos7_x86_64/python/include/python3.7m/Python.h
/home/ubuntu/miniconda3/pkgs/python-3.8.5-h7579374_1/include/python3.8/Python.h
/home/ubuntu/miniconda3/pkgs/python-3.7.0-h6e4f718_3/include/python3.7m/Python.h
/home/ubuntu/miniconda3/include/python3.8/Python.h
/home/ubuntu/miniconda3/envs/sim/include/python3.7m/Python.h
/home/ubuntu/src/blender-deps/Python-3.7.7/Include/Python.h
/opt/lib/python-3.7.7/include/python3.7m/Python.h

Then, you can set a compiler flag that will get used by gcc when called by pip. Mine was /home/ubuntu/workspace/blender-git/lib/linux_centos7_x86_64/python/include/python3.7m/Python.h, so I did:

export CPPFLAGS=-I/home/ubuntu/src/blender-deps/Python-3.7.7/Include
pip install <package>
Milo
  • 2,062
  • 16
  • 38
  • What is the purpose of -I ? – Christopher Marlowe Dec 23 '21 at 09:40
  • @SultanAhmedSagor the -I flag tells the compiler that it is a path in which look for header files (-I as "include", I guess): https://caiorss.github.io/C-Cpp-Notes/compiler-flags-options.html – Milo Dec 23 '21 at 10:10
  • 1
    Thanks, this gave me the hint I needed - I needed to install python3.8-dev :) – musicman523 Dec 25 '21 at 18:07
  • I mixed this and "rpm -ql python36-devel.x86_64 | grep -i "Python.h" solution. Helped a lot! thanks! – Seeker Jul 19 '22 at 20:00
  • Perfect. Though, I was trying to install packagone for python-3.10 but i found python.h for python-3.11 and it worked. Thanks! – Tushar Apr 28 '23 at 06:10
  • 1
    This is the most killer answer right here! Instead of randomly installing new dependencies, first search for your system. – Fusion Jul 19 '23 at 09:09
  • I have this problem with Windows and I am stuck. I put include directory in the "includePath" environmental variable and it can't open the header as it appears to not be recognized. I get error" fatal error: Python.h: No such file or directory". Can someone 1) advise on what is meant by "system Python" and/or 2) have some Windows troubleshooting tips? How to ask this question for Windows case without it getting flagged as a duplicate? – user7611503 Aug 16 '23 at 00:54
16

In my case, what fixed it in Ubuntu was to install the packages libpython-all-dev (or libpython3-all-dev if you use Python 3).

Oriol Nieto
  • 5,409
  • 6
  • 32
  • 38
15

I managed to solve this issue and generate the .so file in one command

gcc -shared -o UtilcS.so
-fPIC -I/usr/include/python2.7 -lpython2.7  utilsmodule.c
Solomon Ucko
  • 5,724
  • 3
  • 24
  • 45
Mohanad Y.
  • 18,278
  • 3
  • 12
  • 12
15

It's not the same situation, but it also works for me and now I can use SWIG with Python3.5:

I was trying to compile:

gcc -fPIC -c existe.c existe_wrap.c -I /usr/include/python3.5m/

With Python 2.7 works fine, not with my version 3.5:

existe_wrap.c:147:21: fatal error: Python.h: No existe el archivo o el directorio compilation terminated.

After run in my Ubuntu 16.04 installation:

sudo apt-get install python3-dev  # for python3.x installs

Now I can compile without problems Python3.5:

gcc -fPIC -c existe.c existe_wrap.c -I /usr/include/python3.5m/
David Ferenczy Rogožan
  • 23,966
  • 9
  • 79
  • 68
Hugo L.M
  • 1,053
  • 17
  • 31
13

I also encountered this error when I was installing coolprop in ubuntu.

For ubuntu 16.04 with python 3.6

sudo apt-get install python3.6-dev

If ever this doesn't work try installing/updating gcc lib.

sudo apt-get install gcc
Wreeecks
  • 2,186
  • 1
  • 33
  • 53
  • 1
    omg, I struggled with this for SO long because I had run `python3-dev` many times and kept getting the same error, but didn't know about `python3.6-dev`!! Thanks!! – Blairg23 Mar 14 '19 at 04:35
12

try apt-file. It is difficult to remember the package name where the missing file resides. It is generic and useful for any package files.

For example:

root@ubuntu234:~/auto# apt-file search --regexp '/Python.h$'
pypy-dev: /usr/lib/pypy/include/Python.h
python2.7-dbg: /usr/include/python2.7_d/Python.h
python2.7-dev: /usr/include/python2.7/Python.h
python3.2-dbg: /usr/include/python3.2dmu/Python.h
python3.2-dev: /usr/include/python3.2mu/Python.h
root@ubuntu234:~/auto# 

Now you can make an expert guess as to which one to choose from.

Aleksandr M
  • 24,264
  • 12
  • 69
  • 143
Venfah Nazir
  • 320
  • 2
  • 6
10

For CentOS 7:

sudo yum install python36u-devel

I followed the instructions here for installing python3.6 on several VMs: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming-environment-on-centos-7 and was then able to build mod_wsgi and get it working with a python3.6 virtualenv

Paul Roub
  • 36,322
  • 27
  • 84
  • 93
Steve G
  • 117
  • 1
  • 4
10

Here is yet another solution, because none of these solutions worked for me. For reference, I was trying to pip install something on an Amazon Linux AMI base Docker image for Python 3.6.

Non-docker solution:

# Install python3-devel like everyone says
yum -y install python36-devel.x86_64

# Find the install directory of `Python.h`
rpm -ql python36-devel.x86_64 | grep -i "Python.h"

# Forcefully add it to your include path
C_INCLUDE_PATH='/usr/include/python3.6m'
export C_INCLUDE_PATH

Docker solution:

# Install python3-devel like everyone says
RUN yum -y install python36-devel.x86_64

# Find the install directory of `Python.h`, for me it was /usr/include/python3.6m
RUN rpm -ql python36-devel.x86_64 | grep -i "Python.h" && fake_command_so_docker_fails_and_shows_us_the_output

# Since the previous command contains a purposeful error, remove it before the next run

# Forcefully add it to your include path
ARG C_INCLUDE_PATH='/usr/include/python3.6m'

NOTE: If you're getting the error when compiling C++, use CPLUS_INCLUDE_PATH.

Alternatively, you may prefer to use another Docker image. For example, I was trying to install asyncpg~=0.24.0 on python:3.9.4-slim, which generated the same error as you saw. However, when I updated the image to python:3, it worked fine.

William
  • 521
  • 7
  • 21
serg06
  • 2,027
  • 1
  • 18
  • 26
9

For the OpenSuse comrades out there:

sudo zypper install python3-devel
kmonsoor
  • 7,600
  • 7
  • 41
  • 55
8

If you're using Python 3.6 on Amazon Linux (based on RHEL, but the RHEL answers given here didn't work):

sudo yum install python36-devel
Egal
  • 1,374
  • 12
  • 22
7
  1. You must install the Python development files on your operating system if the Python provided with your operating system does not come with them. The many answers on this question show the myriad ways this can be achieved on different systems.

  2. When you have done so, the problem is telling the compiler where they're located and how to compile against them. Python comes with a program called python-config. For compilation, you need the --includes output and for linking a program against the Python library (embedding Python into your program) the --ldflags output. Example:

    gcc -c mypythonprogram.c $(python3-config --includes)
    gcc -o program mypythonprogram.o $(python3-config --ldflags)
    

The python-config program can be named after the Python versions - on Debian, Ubuntu for example these can be named python3-config or python3.6-config.

Rahul Jha
  • 107
  • 1
  • 9
6

Sure python-dev or libpython-all-dev are the first thing to (apt )install, but if that doesn't help as was my case, I advice you to install the foreign Function Interface packages by sudo apt-get install libffi-dev and sudo pip install cffi.

This should help out especially if you see the error as/from c/_cffi_backend.c:2:20: fatal error: Python.h: No such file or directory.

Huge
  • 661
  • 7
  • 14
5

try locate your Python.h:

gemfield@ThinkPad-X1C:~$ locate Python.h
/home/gemfield/anaconda3/include/python3.7m/Python.h
/home/gemfield/anaconda3/pkgs/python-3.7.6-h0371630_2/include/python3.7m/Python.h
/usr/include/python3.8/Python.h

if not found, then install python-dev or python3-dev; else include the correct header path for compiler:

g++ -I/usr/include/python3.8 ...
gemfield
  • 3,228
  • 7
  • 27
  • 28
5

I am on Ubuntu. I have installed all packages as was recommended in some answers.

sudo apt-get install python-dev   # for python2.x installs
sudo apt-get install python3-dev  # for python3.x installs

I still had this problem, the line:

#include "Python.h"

And some others, I can edit them manually, it is a bad practice. I know the secret now, it comes from the cython source code. I have the file. It compiles without errors. That is the file. Change PYTHON to python version you have, python/python3. Change FILE to your c-filename. The name of the makefile file should be Makefile. Run the the file with the command:

make all

Makefile for creating our standalone Cython program

    FILE := file.c
    PYTHON := python3
    PYVERSION := $(shell $(PYTHON) -c "import sys;                     
    print(sys.version[:3])")
    PYPREFIX := $(shell $(PYTHON) -c "import sys; print(sys.prefix)")

    INCDIR := $(shell $(PYTHON) -c "from distutils import sysconfig; 
    print(sysconfig.get_python_inc())")
    PLATINCDIR := $(shell $(PYTHON) -c "from distutils import 
    sysconfig; print(sysconfig.get_python_inc(plat_specific=True))")
    LIBDIR1 := $(shell $(PYTHON) -c "from distutils import sysconfig; 
    print(sysconfig.get_config_var('LIBDIR'))")
    LIBDIR2 := $(shell $(PYTHON) -c "from distutils import sysconfig; 
    print(sysconfig.get_config_var('LIBPL'))")
    PYLIB := $(shell $(PYTHON) -c "from distutils import sysconfig; 
    print(sysconfig.get_config_var('LIBRARY')[3:-2])")

    CC := $(shell $(PYTHON) -c "import distutils.sysconfig; 
    print(distutils.sysconfig.get_config_var('CC'))")
    LINKCC := $(shell $(PYTHON) -c "import distutils.sysconfig; 
    print(distutils.sysconfig.get_config_var('LINKCC'))")
    LINKFORSHARED := $(shell $(PYTHON) -c "import distutils.sysconfig; 
    print(distutils.sysconfig.get_config_var('LINKFORSHARED'))")
    LIBS := $(shell $(PYTHON) -c "import distutils.sysconfig; 
    print(distutils.sysconfig.get_config_var('LIBS'))")
    SYSLIBS :=  $(shell $(PYTHON) -c "import distutils.sysconfig; 
    print(distutils.sysconfig.get_config_var('SYSLIBS'))")

    .PHONY: paths all clean test

    paths:
        @echo "PYTHON=$(PYTHON)"
        @echo "PYVERSION=$(PYVERSION)"
        @echo "PYPREFIX=$(PYPREFIX)"
        @echo "INCDIR=$(INCDIR)"
        @echo "PLATINCDIR=$(PLATINCDIR)"
        @echo "LIBDIR1=$(LIBDIR1)"
        @echo "LIBDIR2=$(LIBDIR2)"
        @echo "PYLIB=$(PYLIB)"
        @echo "CC=$(CC)"
        @echo "LINKCC=$(LINKCC)"
        @echo "LINKFORSHARED=$(LINKFORSHARED)"
        @echo "LIBS=$(LIBS)"
        @echo "SYSLIBS=$(SYSLIBS)"

    $(FILE:.c=): $(FILE:.c=.o)
        $(LINKCC) -o $@ $^ -L$(LIBDIR1) -L$(LIBDIR2) -l$(PYLIB)         
    $(LIBS) $(SYSLIBS) $(LINKFORSHARED)

    $(FILE:.c=.o): $(FILE)
        $(CC) -c $^ -I$(INCDIR) -I$(PLATINCDIR)

    all: $(FILE:.c=)
Valery Noname
  • 311
  • 5
  • 7
  • Note: python3-dev does not automatically cover all minor versions of python3, if you are using e.g. python 3.8 you may need to install python3.8-dev – musicman523 Dec 25 '21 at 18:08
  • The problem is that I have a wrong include ```#include "Python.h"```. Compiler doesn't see it. You should edit the path manually. Or you can take the Makefile that I have posted. This file does the same as the manual edit of ```#include``` – Valery Noname Dec 25 '21 at 19:19
4

This error occurred when I attempted to install ctds on CentOS 7 with Python3.6. I did all the tricks mentioned here including yum install python34-devel. The problem was Python.h was found in /usr/include/python3.4m but not in /usr/include/python3.6m. I tried to use --global-option to point to include dir (pip3.6 install --global-option=build_ext --global-option="--include-dirs=/usr/include/python3.4m" ctds). This resulted in a lpython3.6m not found when linking ctds.

Finally what worked was fixing the development environment for Python3.6 needs to correct with the include and libs.

yum -y install https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/python36u-libs-3.6.3-1.ius.centos7.x86_64.rpm

Python.h needs to be in your include path for gcc. Whichever version of python is used, for example if it's 3.6, then it should be in /usr/include/python3.6m/Python.h typically.

  • Not sure why there is a -1 but this is a problem as of today for python3.6 with CentOS as python36-devel is not available. You will need to install it from the URL above. – Babu Arunachalam Nov 16 '17 at 02:25
4

Sometimes even after installing python-dev the error persists, Check for the error if it is 'gcc' missing.

First download as stated in https://stackoverflow.com/a/21530768/8687063, then install gcc

For apt (Ubuntu, Debian...):

sudo apt-get install gcc

For yum (CentOS, RHEL...):

sudo yum install gcc

For dnf (Fedora...):

sudo dnf install gcc

For zypper (openSUSE...):

sudo zypper in gcc

For apk (Alpine...):

sudo apk gcc
HimanshuGahlot
  • 561
  • 4
  • 11
3

It often appear when you trying to remove python3.5 and install python3.6.

So when using python3 (which python3 -V => python3.6) to install some packages required python3.5 header will appear this error.

Resolve by install python3.6-dev module.

dphans
  • 1,543
  • 19
  • 20
2

This means that Python.h isn't in your compiler's default include paths. Have you installed it system-wide or locally? What's your OS?

You could use the -I<path> flag to specify an additional directory where your compiler should look for headers. You will probably have to follow up with -L<path> so that gcc can find the library you'll be linking with using -l<name>.

Kos
  • 70,399
  • 25
  • 169
  • 233
2

It is confirmed that if you are running centos 8+. You will need to run the followings:

sudo yum -y install python36 python38 python39
sudo yum -y install python36-devel.x86_64 python38-devel.x86_64 python39-devel.x86_64

pip3.8 install cpython
pip3.9 install cpython
pip3.6 install cpython
2

The problem maybe that you do not have the appropiate Python Library headers installed. If you use Linux Solus, this can be solved by using the command:

sudo eopkg install python3-devel
Peter Warrington
  • 654
  • 10
  • 32
1

The situation I encountered is my Python.h in the directory /usr/include/python3.8 and /usr/include/python2.7,just give the path to gcc by like -I /usr/include/python3.8。python's version replace with yours。

Crawl.W
  • 403
  • 5
  • 17
1

In case you already have Python installed, and want to link against a specific Python version, you can get the relevant include path from Python.

>>> import sysconfig
>>> sysconfig.get_path('include')
'/usr/include/python3.10' # Example output

You can manually specify the include path/build against a specific python version using a shell script:

#!/bin/sh
python_include=$(python3.10 -c "import sysconfig; print(sysconfig.get_path('include'))")
gcc -Wall utilsmodule.c -o Utilc -I"$python_include"
Tobias Bergkvist
  • 1,751
  • 16
  • 20
0

If you use cmake to build project, you can use this example.

cmake_minimum_required(VERSION 2.6)
project(demo)
find_package(PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
add_executable(demo main.cpp)
target_link_libraries(demo ${PYTHON_LIBRARIES})
KingKong
  • 71
  • 2