2017-07-26 4 views
0

J'ai compilé un test et j'ai eu beaucoup d'erreurs. Je n'ai aucune idée de ce que c'est. N'importe qui peut expliquer s'il vous plaît."Erreur de définition multiple de" main "" lors de la compilation d'un programme mbed OS

D:\Projects\mbed-os-example-blinky-master>mbed test -m ublox_c030_u201 -t gcc_arm --compile 

Build failures: 
    * UBLOX_C030_U201::GCC_ARM::MBED-OS-FEATURES-FEATURE_LWIP-TESTS-MBEDMICRO-NET-CONNECTIVITY 
     Building project connectivity (UBLOX_C030_U201, GCC_ARM) 
     Scan: gcc_arm 
     Scan: connectivity 
     Scan: FEATURE_LWIP 
     Link: connectivity 
     D:/Projects/mbed-os-example-blinky-master/BUILD/tests/ublox_c030_u201/gcc_arm/main.o: In function `main': 
     main.cpp:(.text.startup.main+0x0): multiple definition of `main' 
     D:/Projects/mbed-os-example-blinky-master/BUILD/tests/ublox_c030_u201/gcc_arm/./mbed-os/features/FEATURE_LWIP/TESTS/mbedmicro-net/connectivity/./main.o:main.cpp:(.text.startup.main+0x0): first defined here 
     collect2.exe: error: ld returned 1 exit status 


[mbed] ERROR: "c:\python27\python.exe" returned error code 1. 
[mbed] ERROR: Command "c:\python27\python.exe -u D:\Projects\mbed-os-example-blinky-master\mbed-os\tools\test.py -t gcc_arm -m ublox_c030_u201 --source D:\Projects\mbed-os-example-blinky-master --build D:\Projects\mbed-os-example-blinky-master\BUILD\tests\ublox_c030_u201\gcc_arm --test-spec D:\Projects\mbed-os-example-blinky-master\BUILD\tests\ublox_c030_u201\gcc_arm\test_spec.json" in "D:\Projects\mbed-os-example-blinky-master" 
+0

On dirait que vous compilez 2 fichiers qui ont tous deux une méthode 'main'. [Vous ne pouvez pas avoir 2 fonctions principales.] (Https://stackoverflow.com/questions/8893093/compile-time-error-multiple-definition-of-main). –

+0

Merci pour votre réponse. Que dois-je faire commenter 1 fonction principale. –

Répondre

0

Vous compilez les tests pour cette cible, alors que vous avez également votre propre programme. Cela ne fonctionnera pas car les tests et votre programme ont une fonction main.

faire au lieu:

mbed compile -m ublox_c030_u201 -t gcc_arm 
+0

Ou si vous voulez réellement exécuter les tests, ajoutez votre fichier main.cpp au fichier '.mbedignore'. –

+0

comment ajouter le fichier main.cpp au fichier .mbedignore. S'il vous plaît, expliquez. –

+0

Créez un fichier appelé '.mbedignore' dans le dossier racine de votre projet et ajoutez le chemin' 'main.cpp'' (par exemple 'source/main.cpp'). Cela indiquera au compilateur d'exclure votre fichier. –