我发现了很多类似的问题,但到目前为止,没有一个问题适合我...
===========更新错误信息、图片、命令行===========
我正在尝试在Visual Studio中#include <Python.h>
(这几乎是全部代码,主函数几乎为空) ,但它一直提醒我cannot open source file "Python.h"
,如果我运行程序,它将引发错误:
fatal error C1083: Cannot open include file:'Python.h': No such file or directory
。
我在项目属性页(Property Pages)
> VC++ Directories
中添加了包含(include)和库(library)目录,但不起作用。我试着将路径添加到C/C++
> Additional Include Directories
,但也不起作用。我还尝试将其更改为发布(release)模式,但仍然无效...
=================更新2.0================
我在C/C++
> Additional Include Directories
中添加了%(AdditionalIncludeDirectories);
,但似乎没有起作用。
然后我做了一件非常愚蠢的事情:我将头文件和.dll文件复制到头文件包含(include)文件夹中...现在它不再提醒我找不到Python.h,我可以编写代码:
Py_Initialize();
PyRun_SimpleString("print('Hello Python!')");
Py_Finalize();
但是它无法编译...我收到了一个新的错误信息:
'"C:\Amarth\Programing\CPlusPlusLearning\Release\CPlusPlusLearning.exe"' is not recognized as an internal or external command,
operable program or batch file.
在输出中,它是这样的:
1>------ Build started: Project: CPlusPlusLearning, Configuration: Release Win32 ------
1> PartOne.cpp
1>PartOne.cpp(34): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data
1>PartOne.obj : error LNK2001: unresolved external symbol __imp__Py_Finalize
1>PartOne.obj : error LNK2001: unresolved external symbol __imp__Py_Initialize
1>PartOne.obj : error LNK2001: unresolved external symbol __imp__PyRun_SimpleStringFlags
1>C:\Amarth\Computer_Graphics\Programing\CPlusPlusLearning\Release\CPlusPlusLearning.exe : fatal error LNK1120: 3 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
这似乎很明显,编译器只能找到函数声明但找不到定义... 此外,根据我看到的类似问题,大多数人在添加包含目录后解决了问题。那么如果我真的遇到了一个花哨的问题,是否可能找到并复制所有函数定义,然后以某种方式使其正常工作?
==============其他信息===============
我正在使用由Anaconda安装的Python 3.5。
include
和libs
文件夹位于C:\Users\Amarthgul\Anaconda3
下,也已添加到系统变量
> 路径
中。我计算机上还有一个Python 3.6,但通常我只使用它的手册,并且它没有在python环境中造成任何麻烦。命令行:/GS /GL /W3 /Gy /Zc:wchar_t /I"C:\Users\Amarthgul\Anaconda3\include" /Zi /Gm- /O2 /sdl /Fd"x64\Release\vc140.pdb" /Zc:inline /fp:precise /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\" /Fp"x64\Release\CPlusPlusLearning.pch"