Hello !
I work on a drone, and I'm using the MPU6050 library, but I think that the code is too long, and a little bit messy, so I've decided to make a library with two function : mpu.setup() and mpu.compute().
The problem is that I receive this error :
Arduino : 1.6.8 (Windows 10), Carte : "Arduino/Genuino MKR1000"
sketch\GY88.cpp.o: In function `MPU6050::dmpInitialize()':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:325: multiple definition of `MPU6050::dmpInitialize()'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:325: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpPacketAvailable()':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:546: multiple definition of `MPU6050::dmpPacketAvailable()'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:546: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetAccel(long*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:575: multiple definition of `MPU6050::dmpGetAccel(long*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:575: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetAccel(short*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:583: multiple definition of `MPU6050::dmpGetAccel(short*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:583: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetAccel(VectorInt16*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:591: multiple definition of `MPU6050::dmpGetAccel(VectorInt16*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:591: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetQuaternion(long*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:599: multiple definition of `MPU6050::dmpGetQuaternion(long*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:599: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetQuaternion(short*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:608: multiple definition of `MPU6050::dmpGetQuaternion(short*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:608: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetQuaternion(Quaternion*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:615: multiple definition of `MPU6050::dmpGetQuaternion(Quaternion*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:615: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetGyro(long*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:632: multiple definition of `MPU6050::dmpGetGyro(long*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:632: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetGyro(short*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:640: multiple definition of `MPU6050::dmpGetGyro(short*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:640: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetGyro(VectorInt16*, unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:648: multiple definition of `MPU6050::dmpGetGyro(VectorInt16*, unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:648: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetLinearAccel(VectorInt16*, VectorInt16*, VectorFloat*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:656: multiple definition of `MPU6050::dmpGetLinearAccel(VectorInt16*, VectorInt16*, VectorFloat*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:656: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetLinearAccelInWorld(VectorInt16*, VectorInt16*, Quaternion*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:664: multiple definition of `MPU6050::dmpGetLinearAccelInWorld(VectorInt16*, VectorInt16*, Quaternion*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:664: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetGravity(VectorFloat*, Quaternion*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:676: multiple definition of `MPU6050::dmpGetGravity(VectorFloat*, Quaternion*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:676: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetEuler(float*, Quaternion*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:687: multiple definition of `MPU6050::dmpGetEuler(float*, Quaternion*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:687: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetYawPitchRoll(float*, Quaternion*, VectorFloat*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:693: multiple definition of `MPU6050::dmpGetYawPitchRoll(float*, Quaternion*, VectorFloat*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:693: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpProcessFIFOPacket(unsigned char const*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:715: multiple definition of `MPU6050::dmpProcessFIFOPacket(unsigned char const*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:715: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpReadAndProcessFIFOPacket(unsigned char, unsigned char*)':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:716: multiple definition of `MPU6050::dmpReadAndProcessFIFOPacket(unsigned char, unsigned char*)'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:716: first defined here
sketch\GY88.cpp.o: In function `MPU6050::dmpGetFIFOPacketSize()':
C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:742: multiple definition of `MPU6050::dmpGetFIFOPacketSize()'
sketch\DroneV1.2.ino.cpp.o:C:\Users\quent\OneDrive\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:742: first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino/Genuino MKR1000.
Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.