Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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
找不到-lpython3.5->;Eclipse CPP 我试图在Eclipse中运行C++项目中的Python命令。_Python_C++_Eclipse - Fatal编程技术网

找不到-lpython3.5->;Eclipse CPP 我试图在Eclipse中运行C++项目中的Python命令。

找不到-lpython3.5->;Eclipse CPP 我试图在Eclipse中运行C++项目中的Python命令。,python,c++,eclipse,Python,C++,Eclipse,我已经将“/usr/include/python3.5”包含在我的include路径和Cross G++链接器的库搜索路径中。在CrossG++链接器的杂项中,我添加了-lpython3.5 通过这些配置,我的构建看起来像:g++-L/usr/include/python3.5/-lpython3.5-o“CppPyTest”。/src/CppPyTest.o 但是,我得到了以下错误: /usr/bin/ld:找不到-lpython3.5 makefile:45:目标“CppPyTest”的配方

我已经将“/usr/include/python3.5”包含在我的include路径和Cross G++链接器的库搜索路径中。在CrossG++链接器的杂项中,我添加了-lpython3.5

通过这些配置,我的构建看起来像:g++-L/usr/include/python3.5/-lpython3.5-o“CppPyTest”。/src/CppPyTest.o

但是,我得到了以下错误:

/usr/bin/ld:找不到-lpython3.5 makefile:45:目标“CppPyTest”的配方失败

如果删除-lpython3.5,则会出现以下错误:

对“Py_Initialize”的未定义引用

我的全部代码是:

#include "Python.h"
#include <iostream>

using namespace std;

int main(int argc, char *argv[]) {     
    Py_Initialize();
    PyRun_SimpleString("from time import time,ctime\n"
                     "print 'Today is',ctime(time())\n");
    Py_Finalize();
    return 0;
}
#包括“Python.h”
#包括
使用名称空间std;
intmain(intargc,char*argv[]){
Py_初始化();
PyRun_SimpleString(“从导入时间开始,ctime\n”
“打印“今天是”,ctime(time())\n”);
Py_Finalize();
返回0;
}

这显示了如何编译和链接代码。 这为包管理器或anaconda包中的第十八个python提供了正确的参数

代码(使Python 3兼容):

或者(包管理器中的python)

在文件夹中创建可执行文件a.out

我们可以通过

export LD_LIBRARY_PATH=/opt/anaconda3/lib:$LD_LIBRARY_PATH
./a.out
给出输出:

Today is Tue Jul  7 14:56:31 2020
为帮助您正确调整路径,此处显示anaconda文件夹的内容:

$ ls /opt/anaconda3/lib/libpython*
/opt/anaconda3/lib/libpython3.7m.a
/opt/anaconda3/lib/libpython3.7m.nolto.a
/opt/anaconda3/lib/libpython3.7m.so
/opt/anaconda3/lib/libpython3.7m.so.1.0
/opt/anaconda3/lib/libpython3.so


$ ls /opt/anaconda3/include/python3.7m/
Python-ast.h           errcode.h          object.h       pymem.h
Python.h               eval.h             objimpl.h      pyport.h
abstract.h             fileobject.h       odictobject.h  pystate.h
accu.h                 fileutils.h        opcode.h       pystrcmp.h
asdl.h                 floatobject.h      osdefs.h       pystrhex.h
ast.h                  frameobject.h      osmodule.h     pystrtod.h
bitset.h               funcobject.h       parsetok.h     pythonrun.h
bltinmodule.h          genobject.h        patchlevel.h   pythread.h
boolobject.h           graminit.h         pgen.h         pytime.h
bytearrayobject.h      grammar.h          pgenheaders.h  rangeobject.h
bytes_methods.h        greenlet           py_curses.h    setobject.h
bytesobject.h          import.h           pyarena.h      sip.h
cellobject.h           internal           pyatomic.h     sliceobject.h
ceval.h                intrcheck.h        pycapsule.h    structmember.h
classobject.h          iterobject.h       pyconfig.h     structseq.h
code.h                 listobject.h       pyctype.h      symtable.h
codecs.h               longintrepr.h      pydebug.h      sysmodule.h
compile.h              longobject.h       pydtrace.h     token.h
complexobject.h        marshal.h          pyerrors.h     traceback.h
context.h              memoryobject.h     pyexpat.h      tupleobject.h
datetime.h             metagrammar.h      pyfpe.h        typeslots.h
descrobject.h          methodobject.h     pyhash.h       ucnhash.h
dictobject.h           modsupport.h       pylifecycle.h  unicodeobject.h
dtoa.h                 moduleobject.h     pymacconfig.h  warnings.h
dynamic_annotations.h  namespaceobject.h  pymacro.h      weakrefobject.h
enumobject.h           node.h             pymath.h

这显示了如何编译和链接代码。 这为包管理器或anaconda包中的第十八个python提供了正确的参数

代码(使Python 3兼容):

或者(包管理器中的python)

在文件夹中创建可执行文件a.out

我们可以通过

export LD_LIBRARY_PATH=/opt/anaconda3/lib:$LD_LIBRARY_PATH
./a.out
给出输出:

Today is Tue Jul  7 14:56:31 2020
为帮助您正确调整路径,此处显示anaconda文件夹的内容:

$ ls /opt/anaconda3/lib/libpython*
/opt/anaconda3/lib/libpython3.7m.a
/opt/anaconda3/lib/libpython3.7m.nolto.a
/opt/anaconda3/lib/libpython3.7m.so
/opt/anaconda3/lib/libpython3.7m.so.1.0
/opt/anaconda3/lib/libpython3.so


$ ls /opt/anaconda3/include/python3.7m/
Python-ast.h           errcode.h          object.h       pymem.h
Python.h               eval.h             objimpl.h      pyport.h
abstract.h             fileobject.h       odictobject.h  pystate.h
accu.h                 fileutils.h        opcode.h       pystrcmp.h
asdl.h                 floatobject.h      osdefs.h       pystrhex.h
ast.h                  frameobject.h      osmodule.h     pystrtod.h
bitset.h               funcobject.h       parsetok.h     pythonrun.h
bltinmodule.h          genobject.h        patchlevel.h   pythread.h
boolobject.h           graminit.h         pgen.h         pytime.h
bytearrayobject.h      grammar.h          pgenheaders.h  rangeobject.h
bytes_methods.h        greenlet           py_curses.h    setobject.h
bytesobject.h          import.h           pyarena.h      sip.h
cellobject.h           internal           pyatomic.h     sliceobject.h
ceval.h                intrcheck.h        pycapsule.h    structmember.h
classobject.h          iterobject.h       pyconfig.h     structseq.h
code.h                 listobject.h       pyctype.h      symtable.h
codecs.h               longintrepr.h      pydebug.h      sysmodule.h
compile.h              longobject.h       pydtrace.h     token.h
complexobject.h        marshal.h          pyerrors.h     traceback.h
context.h              memoryobject.h     pyexpat.h      tupleobject.h
datetime.h             metagrammar.h      pyfpe.h        typeslots.h
descrobject.h          methodobject.h     pyhash.h       ucnhash.h
dictobject.h           modsupport.h       pylifecycle.h  unicodeobject.h
dtoa.h                 moduleobject.h     pymacconfig.h  warnings.h
dynamic_annotations.h  namespaceobject.h  pymacro.h      weakrefobject.h
enumobject.h           node.h             pymath.h

这不是
-lpython35
(不带点)吗?检查指定的lib目录中有哪些
.a
文件可用
-l
-l lib.a
的快捷方式。我不知道为什么,但/usr/bin中的目录ld不存在。它应该是默认的,不是吗?我正在使用Ubuntu。这不是
-lpython35
(不带点)吗?检查指定的lib目录中有哪些
.a
文件可用
-l
-l lib.a
的快捷方式。我不知道为什么,但/usr/bin中的目录ld不存在。它应该是默认的,不是吗?我在用Ubuntu。