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 
#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

beaglebone black配置BlackLib库_第1张图片
运行

./test

你可能感兴趣的:(beaglebone,black)