Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 对依赖于另一个.cpp的.cpp使用SWIG_Cmake_Swig - Fatal编程技术网

Cmake 对依赖于另一个.cpp的.cpp使用SWIG

Cmake 对依赖于另一个.cpp的.cpp使用SWIG,cmake,swig,Cmake,Swig,我有一个.cpp文件,它调用另一个.cpp文件。我想使用SWIG为此创建一个Python包装器。 我如何使用SWIG制作这个。 当我有一个.cpp文件时,我可以通过以下方式创建一个.so文件: //app.cpp #include "app.hpp" int p(int a) { std::cout<<"hello...SWIG runs fine!"<<std::endl; return a; } //app.hpp #include <iostream>

我有一个.cpp文件,它调用另一个.cpp文件。我想使用SWIG为此创建一个Python包装器。 我如何使用SWIG制作这个。 当我有一个.cpp文件时,我可以通过以下方式创建一个.so文件:

//app.cpp
#include "app.hpp"
int p(int a)
{
std::cout<<"hello...SWIG runs fine!"<<std::endl;
return a;
}


//app.hpp
#include <iostream>
int p(int a);


//app.i
%module app
%{
#include "app.hpp"
%}
%include "app.hpp"
//app.cpp
#包括“app.hpp”
INTP(INTA)
{
std::cout解决了它

swig-c++-pythonfile1.i

g++-Isrc-fPIC-I/../../../../../../usr/include/python3.6m -I/../../../../../usr/include/x86_64-linux-gnu/python3.6m-lpython3.6m-c file1.cpp file2.cpp file1_wrap.cxx

g++-shared-fPIC-o_file1.pyd file1.o file2.o file1_wrap.o

事实证明,我们可以使用CMake来定义依赖项,并自动完成此过程。 此外,SWIG可以与CMake一起使用,如SWIG文档中所述

您应该查看一下(仍在进行中)