我的项目是在我的树莓B2上用ST7565控制器控制液晶显示器 我试着用这个c++代码来控制lcd: https://github.com/stephanel/ST7565-RPi
不幸的是,我不熟悉用C编程,因此我想用cype从python调用C++函数。在
我写了一个简单的(对我来说很简单)c++代码来用作共享库
在lcdcontrol.cpp公司名称:
#include <iostream>
#include <ctime>
#include <sstream>
#include <wiringPi.h>
#include <wiringShift.h>
#include "ST7565/ST7565.cpp"
using namespace std;
ST7565 glcd(PIN_SID, PIN_SCLK, PIN_A0, PIN_RST, PIN_CS);
void start();
void drawclock();
void setpix();
void clear();
void drawstring();
void drawbitmap();
void start(){
glcd.begin(0x18);
glcd.display();}
void setpix() {
glcd.setpixel(10, 10, BLACK);}
void clear() {
glcd.clear();}
void drawstring() {
glcd.drawstring(0, 0, "Test string");}
我的python测试代码:
^{pr2}$现在我必须把我的c++代码编译到一个共享库中。我试了好几种方法。但是没有什么是没有问题的。 当我运行python代码时,它返回找不到wiringpi库的“digitalwrite”函数,或者我得到一个错误,它找不到“start”函数。在
谁能帮帮我吗。我快疯了。。。 也许有一种完全不同的方法来使用python的st7565c++代码。但这对我来说似乎是最简单的方法…直到现在。。。在
谢谢你的帮助,真管用!在
这是我使用的makefile:
海里lcdcontrol.so退货:
^{pr2}$在python代码中,我现在可以使用:
而且很管用!在
因为你对C不熟悉,我想你犯了和我一样的错误。您不关心C++中的名字MangelEng.在
见http://en.wikipedia.org/wiki/Nm_%28Unix%29
请展示如何导出函数。在
其他信息可以在这里找到:Python: accessing DLL function using ctypes access by function *name* fails
相关问题 更多 >
编程相关推荐