Multiple Definitions in particle_arducam

Hello, I had been following a tutorial on using a Photon Particle board, possibly switching over to an Argon, in conjunction with an ArduCAM. Here is the link: https://www.hackster.io/middleca/sending-photos-and-video-over-the-internet-db583f

It’s a short list of steps, but one of the steps led me to download this repository: https://github.com/dmiddlecamp/particle_arducam
Specifically for the firmware code: https://github.com/dmiddlecamp/particle_arducam/blob/master/firmware/tcp_photographer/main.ino

What I had done:
I had downloaded the repository as a whole using a git clone. I at first suspected that all I needed to do was to flash the code over to my Particle Photon. However, VS Code will not allow that to happen unless the code can first compile locally. Thus, here is the terminal when I try compiling locally:

> Executing task: make -f 'C:\Users\jhdil\.particle\toolchains\buildscripts\1.6.1\Makefile' compile-user -s <

../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):c:/Users/jhdil/OneDrive/Desktop/JHD_Bootcamp_Scratch/Learning/Camera_Hello_World/particle_arducam/firmware/libraries/ArduCAM.cpp:139: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM(unsigned
char, int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM(unsigned
char, int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_fifo_burst()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::CS_HIGH()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::CS_LOW()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::bus_write(int, int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::write_reg(unsigned char, unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::start_capture()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::clear_fifo_flag()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::flush_fifo()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_mode(unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::bus_read(int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::read_fifo()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::read_reg(unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_bit(unsigned
char, unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::clear_bit(unsigned char, unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::get_bit(unsigned
char, unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::read_fifo_length()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::OV2640_set_JPEG_size(unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_format(unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg8_8(int, int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs8_8(sensor_reg const*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg8_8(unsigned char, unsigned char*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg8_16(int, int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs8_16(sensor_reg const*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg8_16(unsigned char, unsigned short*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg16_8(int, int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs16_8(sensor_reg const*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::OV5642_set_JPEG_size(unsigned char)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg16_8(unsigned short, unsigned char*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::InitCAM()'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg16_16(int, int)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs16_16(sensor_reg const*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg16_16(unsigned short, unsigned short*)'
../../../build/target/user/platform-6-m/particle_arducam/\libuser.a(ArduCAM.o):C:\Users\jhdil\.particle\toolchains\deviceOS\1.0.1\firmware-1.0.1\user/../wiring/inc/spark_wiring_spi.h:118: first defined here
collect2.exe: error: ld returned 1 exit status
make[2]: *** [../../../build/module.mk:223: c:/Users/jhdil/OneDrive/Desktop/JHD_Bootcamp_Scratch/Learning/Camera_Hello_World/particle_arducam/target/particle_arducam.elf] Error 1
make[1]: *** [../build/recurse.mk:12: modules/photon/user-part] Error 2
make: *** [C:\Users\jhdil\.particle\toolchains\buildscripts\1.6.1\Makefile:46: compile-user] Error 2
The terminal process terminated with exit code: 2

Press any key to close the terminal.

And here is the Audit Environment:


*** WARNING: MAY CONTAIN CONFIDENTIAL INFORMATION - PLEASE SANITIZE BEFORE SHARING ***
To report an issue, visit:
https://community.particle.io/t/information-how-to-report-bugs-and-provide-feedback/44245

{
    "username": "jhdillenb@gmail.com",
    "workspace": {
        "name": "particle_arducam",
        "isWorkspace": false,
        "folders": [
            {
                "location": "c:\\Users\\jhdil\\OneDrive\\Desktop\\JHD_Bootcamp_Scratch\\Learning\\Camera_Hello_World\\particle_arducam",
                "hasValidPath": true,
                "settings": {
                    "firmwareName": "deviceOS",
                    "firmwareVersion": "1.0.1",
                    "targetDevice": "",
                    "targetPlatform": "photon",
                    "compileButtonAction": "localAppDeviceOS",
                    "flashButtonAction": "localAppDeviceOS",
                    "disableWelcomeScreen": false,
                    "disableLocalCompilerDirtyCheck": false,
                    "enableVerboseLocalCompilerLogging": false
                },
                "files": [
                    ".git",
                    ".git\\config",
                    ".git\\description",
                    ".git\\FETCH_HEAD",
                    ".git\\HEAD",
                    ".git\\hooks",
                    ".git\\index",
                    ".git\\info",
                    ".git\\logs",
                    ".git\\objects",
                    ".git\\ORIG_HEAD",
                    ".git\\packed-refs",
                    ".git\\refs",
                    ".gitignore",
                    ".vscode",
                    ".vscode\\c_cpp_properties.json",
                    ".vscode\\settings.json",
                    "firmware",
                    "firmware\\build.sh",
                    "firmware\\flash.sh",
                    "firmware\\libraries",
                    "firmware\\libraries2",
                    "firmware\\notes",
                    "firmware\\sandbox",
                    "firmware\\tcp_photographer",
                    "firmware\\udp_photographer",
                    "LICENSE",
                    "project.properties",
                    "README.md",
                    "services",
                    "services\\tcp_server",
                    "services\\udp_grabber",
                    "target",
                    "target\\obj",
                    "target\\particle_arducam.map"
                ]
            }
        ]
    },
    "cli": {
        "binpath": "C:\\Users\\jhdil\\.vscode\\extensions\\particle.particle-vscode-core-1.5.0\\src\\cli\\bin\\windows\\amd64\\particle.exe",
        "ok": true,
        "version": "1.43.1"
    },
    "localCompiler": {
        "ok": true,
        "dependencies": [
            {
                "id": "deviceOS@1.0.1",
                "ok": true
            },
            {
                "id": "gcc-arm@5.3.1",
                "ok": true
            },
            {
                "id": "buildtools@1.1.0",
                "ok": true
            },
            {
                "id": "buildscripts@1.6.1",
                "ok": true
            },
            {
                "id": "openocd@0.11.1-adhoc6ea4372.0",
                "ok": true
            }
        ]
    },
    "platform": {
        "os": "windows",
        "type": "Windows_NT",
        "release": "10.0.17134",
        "arch": "x64",
        "path": {
            "key": "Path",
            "value": "C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Program Files\\Git\\cmd;C:\\Users\\jhdil\\OneDrive\\Desktop\\Old_COD_C++_Stuff\\mingw32\\bin;C:\\Program Files\\MySQL\\MySQL Shell 8.0\\bin\\;C:\\Users\\jhdil\\Anaconda3;C:\\Users\\jhdil\\Anaconda3\\Scripts;C:\\Users\\jhdil\\Anaconda3\\condabin;C:\\Users\\jhdil\\Anaconda3\\libs;C:\\Users\\jhdil\\AppData\\Local\\Programs\\Microsoft VS Code\\bin"
        },
        "homeDir": "C:\\Users\\jhdil",
        "particleDir": "C:\\Users\\jhdil\\.particle",
        "localCompilerToolchainDir": "C:\\Users\\jhdil\\.particle\\toolchains"
    },
    "env": {
        "ALLUSERSPROFILE": "C:\\ProgramData",
        "AMD_ENTRYPOINT": "vs/workbench/services/extensions/node/extensionHostProcess",
        "APPDATA": "C:\\Users\\jhdil\\AppData\\Roaming",
        "APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL": "true",
        "CommonProgramFiles": "C:\\Program Files\\Common Files",
        "CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files",
        "CommonProgramW6432": "C:\\Program Files\\Common Files",
        "COMPUTERNAME": "DESKTOP-IVRLSBC",
        "ComSpec": "C:\\Windows\\system32\\cmd.exe",
        "DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
        "ELECTRON_RUN_AS_NODE": "1",
        "HOMEDRIVE": "C:",
        "HOMEPATH": "\\Users\\jhdil",
        "LOCALAPPDATA": "C:\\Users\\jhdil\\AppData\\Local",
        "LOGONSERVER": "\\\\DESKTOP-IVRLSBC",
        "NUMBER_OF_PROCESSORS": "8",
        "OneDrive": "C:\\Users\\jhdil\\OneDrive",
        "OneDriveConsumer": "C:\\Users\\jhdil\\OneDrive",
        "OS": "Windows_NT",
        "Path": "C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Program Files\\Git\\cmd;C:\\Users\\jhdil\\OneDrive\\Desktop\\Old_COD_C++_Stuff\\mingw32\\bin;C:\\Program Files\\MySQL\\MySQL Shell 8.0\\bin\\;C:\\Users\\jhdil\\Anaconda3;C:\\Users\\jhdil\\Anaconda3\\Scripts;C:\\Users\\jhdil\\Anaconda3\\condabin;C:\\Users\\jhdil\\Anaconda3\\libs;C:\\Users\\jhdil\\AppData\\Local\\Programs\\Microsoft VS Code\\bin",
        "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC",
        "PIPE_LOGGING": "true",
        "PROCESSOR_ARCHITECTURE": "AMD64",
        "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 142 Stepping 10, GenuineIntel",
        "PROCESSOR_LEVEL": "6",
        "PROCESSOR_REVISION": "8e0a",
        "ProgramData": "C:\\ProgramData",
        "ProgramFiles": "C:\\Program Files",
        "ProgramFiles(x86)": "C:\\Program Files (x86)",
        "ProgramW6432": "C:\\Program Files",
        "PSModulePath": "C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules",
        "PUBLIC": "C:\\Users\\Public",
        "SESSIONNAME": "Console",
        "SystemDrive": "C:",
        "SystemRoot": "C:\\Windows",
        "TEMP": "C:\\Users\\jhdil\\AppData\\Local\\Temp",
        "TMP": "C:\\Users\\jhdil\\AppData\\Local\\Temp",
        "USERDOMAIN": "DESKTOP-IVRLSBC",
        "USERDOMAIN_ROAMINGPROFILE": "DESKTOP-IVRLSBC",
        "USERNAME": "jhdil",
        "USERPROFILE": "C:\\Users\\jhdil",
        "VERBOSE_LOGGING": "true",
        "VSCODE_CWD": "C:\\Users\\jhdil\\AppData\\Local\\Programs\\Microsoft VS Code",
        "VSCODE_HANDLES_UNCAUGHT_ERRORS": "true",
        "VSCODE_IPC_HOOK": "\\\\.\\pipe\\a629cbdb9f1fda57ff5d021a25098436-1.36.1-main-sock",
        "VSCODE_IPC_HOOK_EXTHOST": "\\\\.\\pipe\\vscode-ipc-d4a6c220-7a92-4158-a473-2ad166a64a3b-sock",
        "VSCODE_LOGS": "C:\\Users\\jhdil\\AppData\\Roaming\\Code\\logs\\20190723T090847",
        "VSCODE_LOG_STACK": "false",
        "VSCODE_NLS_CONFIG": "{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}",
        "VSCODE_NODE_CACHED_DATA_DIR": "C:\\Users\\jhdil\\AppData\\Roaming\\Code\\CachedData\\2213894ea0415ee8c85c5eea0d0ff81ecc191529",
        "VSCODE_PID": "21780",
        "VSCODE_PREVENT_FOREIGN_INSPECT": "true",
        "windir": "C:\\Windows"
    },
    "versions": {
        "http_parser": "2.8.0",
        "node": "10.11.0",
        "v8": "6.9.427.31-electron.0",
        "uv": "1.23.0",
        "zlib": "1.2.11",
        "ares": "1.14.0",
        "modules": "69",
        "nghttp2": "1.33.0",
        "napi": "3",
        "openssl": "1.1.0",
        "icu": "62.2",
        "unicode": "11.0",
        "cldr": "33.1",
        "tz": "2019a"
    },
    "vscode": {
        "appName": "Visual Studio Code",
        "appRoot": "c:\\Users\\jhdil\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app",
        "machineId": "11d4b23c0da177230f94e37c0615185bb81b8910cf43325b1412c93cf1aee13e",
        "sessionId": "9523b8d2-f2c4-4f2e-ab9d-83c72dd7cd151563891743613",
        "version": "1.36.1"
    },
    "extensions": [
        {
            "id": "ms-vscode.node-debug",
            "version": "1.35.3"
        },
        {
            "id": "ms-vscode.node-debug2",
            "version": "1.33.0"
        },
        {
            "id": "ms-vscode.references-view",
            "version": "0.0.27"
        },
        {
            "id": "austin.code-gnu-global",
            "version": "0.2.2"
        },
        {
            "id": "marus25.cortex-debug",
            "version": "0.3.1"
        },
        {
            "id": "ms-python.anaconda-extension-pack",
            "version": "1.0.1"
        },
        {
            "id": "ms-python.python",
            "version": "2019.6.24221"
        },
        {
            "id": "ms-vscode.cpptools",
            "version": "0.24.1"
        },
        {
            "id": "particle.particle-vscode-core",
            "version": "1.5.0"
        },
        {
            "id": "particle.particle-vscode-pack",
            "version": "1.5.0"
        },
        {
            "id": "particle.particle-vscode-snippets",
            "version": "1.5.0"
        },
        {
            "id": "particle.particle-vscode-theme",
            "version": "1.5.0"
        },
        {
            "id": "vsciot-vscode.vscode-arduino",
            "version": "0.2.27"
        }
    ]
}

*** WARNING: MAY CONTAIN CONFIDENTIAL INFORMATION - PLEASE SANITIZE BEFORE SHARING ***
To report an issue, visit:
https://community.particle.io/t/information-how-to-report-bugs-and-provide-feedback/44245

I have tried commenting out the few lines of code that’s causing all of the multiple of definitions, but not only do I get an exit code 2 response in the terminal, I’m also not too keen on knocking down a tower of cards from potentially the base. :smile:

Edit: Funny enough, the tutorial and the Github page are related! It seems to have all started from this thread: ArduCAM with Photon using Arduino Library

I believe I got it working! After speaking with the owner of the code for a bit, he had mentioned that the two libraries within the repository, labeled as “libraries” and “libraries2”, are different versions of each other, where “libraries2” is the latest version and the one that is supposed to be used by the “build.sh”.

Thus, I tried deleting the former because it had files of the same name as in “libraries2”, and compiling again. It worked!

I don’t fully understand, but I am left to assume that perhaps there were too many warning messages of multiple definitions, thus breaking the compile? Either way, the multiple definitions warnings are gone due to eliminating the duplicate files, and the few / only warnings given now are variables that ‘may be uninitialized in this function [-Wmaybe-uninitialized]’.

Nope

ld is the linker and that did break since it cannot have multiple instances of the same name.
The compiler can compile each module independently just fine, but when it comes to linking all the parts togehter the linker wouldn't know which to use and which to ditch and hence refuses to do anything.

3 Likes