如何编译blacklib(c ++) [英] how to compile blacklib (c++)

查看:239
本文介绍了如何编译blacklib(c ++)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在运行beaglebone,想要编写一个程序来采样ADC。我尝试使用blacklib( http://blacklib.yigityuce.com/index.html ) 从这里。我克隆了git:
https://github.com/yigityuce/BlackLib

I am running a beaglebone and want to write a program to sample the ADC. I am trying to use the blacklib (http://blacklib.yigityuce.com/index.html) from here. I cloned the git: https://github.com/yigityuce/BlackLib

并试图使用

g++ exampleAndTiming.cpp -std=c++11

但是这会给我一大堆错误:

This however gives me a ton of errors like these:

In file included from exampleAndTiming.cpp:33:0:
exampleAndTiming/exampleAndTiming_GPIO.h: In function 'void exampleAndTiming_GPIO()':
exampleAndTiming/exampleAndTiming_GPIO.h:97:12: error: 'sleep' was not declared in this scope
     sleep(1);
            ^
In file included from exampleAndTiming.cpp:34:0:
exampleAndTiming/exampleAndTiming_ADC.h: In function 'void exampleAndTiming_ADC()':
exampleAndTiming/exampleAndTiming_ADC.h:67:16: error: 'usleep' was not declared in this scope
     usleep(1000);
                ^

所以我包含unistd.h(在exampleAndTiming.cpp)得到如下错误:

so I include unistd.h (in exampleAndTiming.cpp), but then I get errors like these:

/tmp/ccbgiXE9.o: In function `exampleAndTiming_GPIO()':
exampleAndTiming.cpp:(.text+0x50): undefined reference to `Timing::startMeasure(std::string)'
exampleAndTiming.cpp:(.text+0x80): undefined reference to `BlackLib::BlackGPIO::BlackGPIO(BlackLib::gpioName, BlackLib::direction, BlackLib::workingMode)'
exampleAndTiming.cpp:(.text+0xbc): undefined reference to `Timing::endMeasure(std::string)'
exampleAndTiming.cpp:(.text+0xec): undefined reference to `BlackLib::BlackGPIO::BlackGPIO(BlackLib::gpioName, BlackLib::direction, BlackLib::workingMode)'
exampleAndTiming.cpp:(.text+0x104): undefined reference to `BlackLib::BlackGPIO::BlackGPIO(BlackLib::gpioName, BlackLib::direction, BlackLib::workingMode)'
exampleAndTiming.cpp:(.text+0x11c): undefined reference to `BlackLib::BlackGPIO::BlackGPIO(BlackLib::gpioName, BlackLib::direction, BlackLib::workingMode)'
exampleAndTiming.cpp:(.text+0x158): undefined reference to `Timing::startMeasure(std::string)'

我一直在看一些库示例和编译它,不能理解这一切。我之前编译了大量的c ++和c程序,但我不能让这个工作。

I've been looking at some library examples and compiling it, but I cannot make sense of it all. I've compiled plenty of c++ and c programs before, but I can't get this one to work. So any help will be appreciated.

推荐答案

似乎我设法自己修复,一些nooblike行为不包括所有的cpp文件,但是更多,我还需要添加#include到BlackCore.h以避免大量未定义的函数错误。

It seems I managed to fix it myself, some nooblike behaviour not including all the cpp files, but even more, I also needed to add #include to BlackCore.h to avoid tons of undefined function errors.

最终命令:

g++ exampleAndTiming.cpp exampleAndTiming/Timing.cpp BlackADC.cpp BlackCore.cpp BlackGPIO.cpp BlackI2C.cpp BlackPWM.cpp BlackSPI.cpp BlackUART.cpp -std=c++11

我可能需要make一个makefile来单独编译库,一些更多的挖掘和学习。

I'd probably need to make a makefile to compile the library seperately, time to do some more digging and learning.

这篇关于如何编译blacklib(c ++)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆