c++中调用python脚本提示 error LNK2001: 无法解析的外部符号

转载 2016年03月31日 22:06:09

转:http://blog.163.com/yuyang_tech/blog/static/216050083201511815611266/


最近项目中需要实现一个服务器宕机后短信提醒的功能,个人觉得在使用python 写http请求这块很方便,发短信这块就使用了python,但是c++程序中调用这个脚本时,编译不通过,提示如下错误:

error LNK2001: 无法解析的外部符号 __imp_PyString_FromString
error LNK2001: 无法解析的外部符号 __imp_PyCallable_Check
error LNK2001: 无法解析的外部符号 __imp_PyObject_CallObject
error LNK2001: 无法解析的外部符号 __imp_Py_Initialize
error LNK2001: 无法解析的外部符号 __imp_Py_IsInitialized
error LNK2001: 无法解析的外部符号 __imp_PyImport_Import
error LNK2001: 无法解析的外部符号 __imp_PyModule_GetDict
error LNK2001: 无法解析的外部符号 __imp_PyDict_GetItemString
error LNK2001: 无法解析的外部符号 __imp_PyRun_SimpleStringFlags
error LNK2001: 无法解析的外部符号 __imp_Py_Finalize
fatal error LNK1120: 10 个无法解析的外部命令

这里我们不提c++中怎么调用python,网上很多例子,以后要是有空,会考虑写一篇文章。先说下我自己的开发环境,win7 x64系统,vs2010,python2.7.8 64位。vs2010工程中属性->c/c++常规->附加包含目录 里面加上自己的python下的include路径。链接器->输入->附加依赖项 中添加python27.lib。然后配置此lib文件的路径,连接器->常规->附加库目录中写上python27lib所在的路径(就是 python安装目录下得libs)。搞完后编译不通过,提示上面的错误信息,网上找了很久,基本上没解决问题。

到底是为什么呢?原来,我在vs中得配置平台是win32,而pthon2.7是64位的,将配置平台改为活动x64后编译通过(平台如何修改:右击项目 -> 属性->最上面的平台修改即可)。


总结下,要是你得相关头文件和依赖库都已经添加,还是出现上面的问题,不妨看看是不是和我犯了同样的错误,要是似的,两种方法解决

  1. python版本换成32位

2.vs中平台设置成x64

python36 c++调用python

有更高端的方法,但是还没有去尝试。 如何实现 C/C++ 与 Python 的通信? https://www.zhihu.com/question/23003213这里采用一种简单的方式,脚本上运...
  • qq_16949707
  • qq_16949707
  • 2017年07月25日 18:18
  • 173

c++调用python脚本遇到的那些坑

问题一:一开始我是在qt上编写程序的,qt是32bit,但Python是64bit,在*.pro文件中配置了: INCLUDEPATH += C:/Python27/include/ LIBS +=...
  • JR_lu
  • JR_lu
  • 2017年01月06日 21:41
  • 3218

c++中调用python脚本提示 error LNK2001: 无法解析的外部符号

最近项目中需要实现一个服务器宕机后短信提醒的功能,个人觉得在使用python 写http请求这块很方便,发短信这块就使用了python,但是c++程序中调用这个脚本时,编译不通过,提示如下错误:err...
  • zhangchen1003
  • zhangchen1003
  • 2016年03月31日 22:06
  • 813

无法解析的外部符号问题

转自:http://blog.csdn.net/enotswn/article/details/5934938 在使用vs2008调试程序的过程中,经常会出现无法解析的外部符号问题,可能的原因有...
  • rankun1
  • rankun1
  • 2016年03月11日 18:08
  • 815

Visual Studio Error LNK2001 无法解析的外部符号 的几种情况

VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常...
  • simmerlee
  • simmerlee
  • 2016年11月07日 14:28
  • 2606

Error LNK2001 无法解析的外部符号的几种情况及解决办法

网上很多方法不靠谱  还是仔
  • u013082425
  • u013082425
  • 2014年09月03日 20:53
  • 3059

VS2010 + libnet开发中,无法解析的外部符号 问题出现的原因总结

无法解析的外部符号
  • a2806005024
  • a2806005024
  • 2014年04月24日 17:26
  • 1885

无法解析的外部符号, 但是已经添加的lib库

#ifdef DNN_EXPORTS #define DNN_API  __declspec(dllexport) #else #define DNN_API  __declspec(dllimpor...
  • qing101hua
  • qing101hua
  • 2017年09月07日 12:12
  • 199

VS2010中error LNK2001无法解析的外部符号解决方法

在使用VS2010编写C++项目时,为了让程序在没有安装VS2010的电脑上运行,需要将项目所需的库文件都打包到exe程序中。打包库文件的方法是点击VS2010菜单栏的“项目->XXX属性”,在弹出的...
  • hou09tian
  • hou09tian
  • 2017年05月17日 06:37
  • 1998

VS error LNK2001无法解析的外部符号_CrtDbgReportW

error LNK2001
  • u012428169
  • u012428169
  • 2017年04月19日 22:39
  • 1188
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++中调用python脚本提示 error LNK2001: 无法解析的外部符号
举报原因:
原因补充:

(最多只允许输入30个字)