链接错误(来自插件的符号)*

时间:2016-09-27 00:57:44

标签: c++ arduino linker

自从我用c ++ / c进行编码以来我已经有一段时间了,我对我做错了什么感到困惑

我有三个文件,2 .h和一个.cpp。

文件如下

基本菜单

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
#define SSD1306_LCDHEIGHT 64
Adafruit_SSD1306 display(OLED_RESET);

class BaseMenu {
public:
    // for moving the menu up and down
    void moveDownMenu();
    void moveUpMenu();
    void selectMenu();

    // for changing the text and the positions
    void incrementText();
    void decrementText();

protected:
    //
    char menuTitlePos1[20];
    char menuTitlePos2[20];
    char menuTitlePos3[20];

    bool is_menuPos1_selected = true;
    bool is_menuPos2_selected = false;
    bool is_menuPos3_selected = false;

private:
    virtual void AbstractClass() = 0;
};

MainMenu.h

#include "BaseMenu.h"
#include <string.h>

#define ARRAYSIZE 4

class MainMenu : BaseMenu {
private:

    // Constructor
    MainMenu() {};

public:
    static void init();
};

MainMenu.cpp

#include "MainMenu.h"

void MainMenu::init() {
    // clearing display
    display.clearDisplay();
    display.display();

    display.setTextSize(1);
    display.setTextColor(WHITE);
    for (int i = 0; i < ARRAYSIZE; i++) {
        if (i == 1) {
            display.setTextSize(1);
            display.setTextColor(BLACK, WHITE);
            //display.println(MainMenuTitles[i]);
         }
        else {
            display.setTextSize(1);
            display.setTextColor(WHITE);
            //display.println(MainMenuTitles[i]);
        }
    }

    display.display();
}

当我去构建代码时,我得到以下错误。

MainMenu.cpp.o (symbol from plugin)*: In function display
(.text+0x0)*: multiple definition of display
TestingLibrary.cpp.o (symbol from plugin)*: (.text+0x0): first defined here

collect2.exe*: error: ld returned 1 exit status

有人可以说明我做错了什么吗?

0 个答案:

没有答案