提问人:Ufx 提问时间:1/20/2018 最后编辑:Ufx 更新时间:2/16/2018 访问量:1038
无法构建使用 Python 的项目
Cannot build project which is using Python
问:
我正在尝试在我的 Visual C++ 项目中使用 https://github.com/lava/matplotlib-cpp。
我添加了库
Python36-32\libs\python36_d.lib Python36-32\libs\python3_d.lib
但我仍然会遇到错误
错误 LNK2019__imp_PyObject_GetAttrString:函数“private: __cdecl matplotlibcpp::d etail::_interpreter::_interpreter(void)”(??0_interpreter@detail@matplotlibcpp@@AEAA@XZ) 错误 LNK2019__imp__Py_NegativeRefcount:函数“bool __cdecl matplotlibcpp::p lot(class std::vector > const &,class std::vector > const &,class std::basic_string,class std::allocator > const &)”(??$plot@NN@matplotlibcpp@@YA_NAEBV?$vector@NV?$allocator@N@std@@@std@@0AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) 错误 LNK2019:函数“bool __cdecl matplotlibcpp::p lot(class std::vector > const &,class std::vector __imp__Py_Dealloc> const &,class std::basic_string,class std::allocator > const &)”(??$plot@NN@matplotlibcpp@@YA_NAEBV?$vector@NV?$allocator@N@std@@@std@@0AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) ...
我还需要添加什么?
现在可以建造了。我不知道发生了什么。现在我在这个地方遇到运行时错误
PyObject* matplotlibname = PyString_FromString("matplotlib");
PyObject* pyplotname = PyString_FromString("matplotlib.pyplot");
PyObject* pylabname = PyString_FromString("pylab");
if (!pyplotname || !pylabname || !matplotlibname) {
throw std::runtime_error("couldnt create string");
}
PyErr_Print()
给
ImportError:numpy.core.multiarray 导入失败
答:
也许您的系统中未安装 numpy 库。选择安装了 python 解释器的 python 环境,然后从“概述”向下滚动到 pip。键入“numpy”并安装它。您拥有的另一种选择是卸载 python 并安装 Anaconda,默认情况下包含 numpy 库。
我在使用调试模式时遇到了类似的问题。
克服此问题的一种方法是在使用 安装 numpy 并使用库后,在 Release 模式下构建它。python.exe -m pip install matplotlib
python36.lib
评论