beaglebone black配置BlackLib库

 	cd Desktop 
	git clone https://github.com/yigityuce/BlackLib.git		//克隆库到本地

用filezilla把克隆的拷贝到pc上
使用v3版本文件夹命名为blacklib_v3.0
修改makefile

CXX=arm-linux-gnueabihf-g++

INCLUDES=-I/usr/include/c++/6.3.0          //自己查看自己版本

CPPFLAGS=-D__GXX_EXPERIMENTAL_CXX0X__ -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8

CXXFLAGS=-std=c++0x -O0 -g3 -Wall -c -fmessage-length=0 -pthread $(CPPFLAGS) $(INCLUDES)

LDFLAGS=-lpthread

LDLIBS=-L/usr/lib

RM=rm -f

SOURCES=./BlackADC/BlackADC.cpp ./BlackDirectory/BlackDirectory.cpp  ./BlackGPIO/BlackGPIO.cpp ./BlackI2C/BlackI2C.cpp ./BlackMutex/BlackMutex.cpp ./BlackPWM/BlackPWM.cpp ./BlackSPI/BlackSPI.cpp ./BlackThread/BlackThread.cpp ./BlackTime/BlackTime.cpp  ./BlackUART/BlackUART.cpp ./BlackCore.cpp ./examples.cpp

OBJECTS=$(SOURCES:.cpp=.o)

EXECUTABLE=BlackLib-executable


all: $(SOURCES) $(EXECUTABLE)
    
$(EXECUTABLE): $(OBJECTS) 
	$(CXX) $(LDLIBS) $(OBJECTS) $(LDFLAGS) -o $@

.cpp.o:
	$(CXX) $(CXXFLAGS) $< -o $@

clean:
	$(RM) $(OBJECTS)


拷贝到/usr/include/目录下。给执行权限

cd /usr/include/blacklib_v3.0/
make 

生成一堆.o文件
把所有子文件夹下的.o文件移动到blacklib_v3.0目录下
把所有.o文件打包为库

ar rcs libblacklib.a *.o

把libblacklib.a移动到/usr/lib/目录下

cd /usr/include/blacklib_v3.0/SPI_SETUP/
./setup_from_BBB

在桌面下建立一个示例

cd /home/Debian/Desktop/
nano test.cpp

gpio示例

#include <iostream>
#include "/usr/include/blacklib_v3.0/BlackLib.h"   //这里发现直接BlackLib.h挂不上


using namespace BlackLib;
int main (int argc,char *arg[])
{
	BlackGPIO led1(GPIO_67,output);
	led1.setValue(low);
	while (1)
	{
		led1.setValue(high);
		sleep(1);
		led1.setValue(low);
		sleep(1);
	}
	return 0;
}

编译

arm-linux-gnueabihf-g++ -Wall test.cpp -o test -lblacklib -lpthread

连接硬件
运行

./test
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值