2 yanlixin 2015 yanlixin_2015 于 2016.03.15 14:38 提问

Python中出现error LNK2019无法解析的外部符号 _PyCallable_Check

#include
#include
#include
using namespace std;
int main()
{
Py_Initialize();
if (!Py_IsInitialized())
{
return -1;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.patth.append('.\')");

PyObject *pName, *pModule, *pDict, *pFunc;
wstring str = L"statistic_word";
wstring_convert<codecvt_utf8<wchar_t>> conv;
string sr = conv.to_bytes(str);

pName = PyUnicode_FromUnicode(str.c_str(),str.size());
pModule = PyImport_ImportModule(sr.c_str());

if (!pModule)
{
    cout << "can't find statistic_word.py" << endl;
    return -1;
}

pDict = PyModule_GetDict(pModule);
if (pDict)
{
    return -1;

}
pFunc = PyDict_GetItemString(pDict,"cut_word");
if (!pFunc || !PyCallable_Check(pFunc))
{
    cout << "can;t find function [cut_word]" << endl;
    return -1;
}
PyEval_CallObject(pFunc,NULL);
Py_Finalize();
system("pause");
return 0;

}


3个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.15 14:58

python对应的lib库文件有没有导入工程

Link926
Link926 在哪找到python对应的lib库文件啊
2 年多之前 回复
yanlixin_2015
yanlixin_2015 导入是放在工程目录下吗
2 年多之前 回复
qq423399099
qq423399099   Ds   Rxr 2016.03.15 15:38

项目->属性->配置属性->连接器->输入->附加依赖项 加上lib的名字,如aa.lib
项目->属性->配置属性->连接器->常规->附加库目录 加上lib所在目录的路径,如e://

yanlixin_2015
yanlixin_2015 不好使,我已经做过啦
2 年多之前 回复
Link926
Link926   2016.03.21 20:25

在哪找到python对应的lib库文件啊

yanlixin_2015
yanlixin_2015 在哪找,在你从网上下载的整个Python中可以找到lib库文件
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
有关C++模板(template)的编译错误“error LNK2019: 无法解析的外部符号”的分析
按照通常的习惯,我们
VS调试报错 “error LNK2019: 无法解析的外部符号 ......”
生成解决方案的时候,报错“error LNK2019: 无法解析的外部符号。。。。” 一般来说,这是由于缺少相应的依赖库.lib文件造成的,解决方法就是到【属性管理器】——【通用属性】——【链接器】——【附加依赖项】里添加相应的.lib文件名称。 如果不知道要添加什么.lib文件,首先将【附加依赖项】里的lib文件和你在VS里配置的软件(如OpenCV)文件下的lib文件夹里.lib文
“error LNK2019: 无法解析的外部符号”之分析
“error LNK2019: 无法解析的外部符号”之分析 最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019。 百度一下讲的并不够全面,反正都没解决我的问题。 error LNK2019问题在VC 6.0中是error LNK2001: unresolved external symbol问题,可能错误号改了。 编译时出现类似这样的错误
C++中使用类模板时出现:“error LNK2019: 无法解析的外部符号”的解决办法
<br /><br /> <br />如果在编译模板类时出现错误:“error LNK2019: 无法解析的外部符号 ...”,解决方法有两个:<br />第一种方法是在主文件(main文件)中既包含类模板的声明文件(接口文件)(.h文件),同时也包含类模板的实现文件(.cpp文件)就行了。<br />第二种方法,就是把类模板中成员函数的声明和定义都放在类的定义中(.h文件),不要分开就行<br /> <br /> 
Qt中错误:LNK2019: 无法解析的外部符号
出现这个错误首先当然是要
在C++控制台项目中使用C工程代码时的注意,避免出现error LNK2019: 无法解析的外部符号
当我们在写 C++控制台项目时候,有时用到一些线程的算法代码项目,这些代码项目是用c写的。当使用时,需要在c的头文件中标注如下内容,才能使得cpp文件能够编译使用c的函数等,才避免在编译时候出现error LNK2019: 无法解析的外部符号###,在_main中引用,这样的错误。如下面: 号 "int __cdecl sift_features(struct _IplImage *,struc
使用动态库时出现,error LNK2019 无法解析的外部符号可能的解决方法。
1动态库的编译环境和使用动态库的编译环境不一致。 2,导出动态库的头文件中,不能含有函数的实现。
混合编程MATLAB引擎的一些错误(error LNK2019: 无法解析的外部符号)
error LNK2019: 无法解析的外部符号 _engOpen,
C++ error LNK2019: 无法解析的外部符号 错误解决方案
今天在实现类模板特例化的时候遇到一个问题,就是把类模板函数实现放到类的cpp文件中,然后在main函数中使用这个类的时候,就会出现无法解析的外部符号:函数名(xxxx)等错误,那么出现这个错误的原因是什么呢? 原因就是现在的编译里不支持模板函数的申明和实现分开,要像上面那样使用类成员函数,有以下两种方法 1. 在使用这个类的文件中包含#include“xxxx.cpp” 2.在类头文件末尾包
Qt5 error LNK2019 无法解析的外部符号 解决办法
1、问题: 最近使用QT 5.0.2 设计界面,遇到一个纠结的问题: 建立工程后,再新建一个新的类(如class a),类声明在a.h头文件中,在main.cpp中 #include "a.h" 但是在链接过程中报错:类a的所有成员函数(构造函数,析构函数等)均无法识别,被编译器标为“无法解析的外部符号”。   解决: 将当前qt工程所在的父目录下的 build-(工