Konstiga felmeddelanden från GCC.

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Konstiga felmeddelanden från GCC.

Inlägg av TomasL »

Jag får en hel del av dessa, vilket jag för mitt liv inte kan begripa:

Kod: Markera allt

warning: implicit declaration of function 'memcpy'
Och koden:

Kod: Markera allt

#include <p32xxxx.h>   // target device
#include <plib.h>      // peripheral libraries
#include <stdlib.h>
#include <string.h>
..................
.................
memcpy( ( void * ) pxQueue->pcWriteTo, pvItemToQueue, ( unsigned ) pxQueue->uxItemSize );
har även prövat med:

Kod: Markera allt

memcpy( ( void * ) pxQueue->pcWriteTo, (const void *) pvItemToQueue, ( size_t ) pxQueue->uxItemSize );
Utan någon som helst skillnad.

Får dessa varningar på en mängd funktioner, såsom; memcpy, strcpy, memset.
Någon som har någon form av ide, över vad som händer.

MPLAB 8.92.00.00 processor är PIC32MX695F512L
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av sodjan »

Det vanliga är väl att "implicit declaration" pekar på att det saknas en .h fil.
Den funktion man försöker använda (t.ex. memcpy) saknar deklaration.
Memcpy borde ju/väl vara i stdlib.h, men...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av TomasL »

Nej, den finns i string.h, eller skall finnas.
Det är precis som om att kompilatorn inte hittar string.h av någon anledning, men då tycker man att den borde säga det, då string.h är inkluderad.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av sodjan »

Sorry, menade string.h... :roll:

Kan GCC ge en list fil med h-filerna expanderade? Jag menar så att det
går att faktiskt verifiera att string.h läses in och memcpy deklareras?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av TomasL »

Förmodligen, men får kika på detta i morgon, lär finnas ett direktiv som sparar de pre-processade filerna
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av sodjan »

Jag har sett förslag på "-E -dI" eller "-M"...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av TomasL »

Problemet löst.
Uppenbarligen kan inte GCC skilja mellan includefiler.

Om man skriver:
#include <file.h>

Och det finns en fil med samma namn i projektet, så inkluderas den i stället för den lib-fil man tänkt sig.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1339
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: Konstiga felmeddelanden från GCC.

Inlägg av baron3d »

Jaha, då har någon varit framme och och gjort ett eget sträng-bibliotek.
Användarvisningsbild
pbgp
Inlägg: 1447
Blev medlem: 11 november 2010, 09:09:22
Ort: Uppsala
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av pbgp »

Mystiskt.

Använder du -I optionen till gcc? Isåfall söks den före standard-sökvägen. Lite knasigt kan tyckas, men att ha en egen string.h är också lite knasigt, som bäddat för missförstånd.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av TomasL »

Använder vad jag vet

Kod: Markera allt

-g -Wparentheses -fno-builtin -funsigned-char -Wall -Wno-pointer-sign
Så här ser den kompletta kommandoraden ut:

Kod: Markera allt

Executing: "D:\Microchip\mplabc32\v2.02\bin\pic32-gcc.exe" -mprocessor=32MX695F512L -x c -c "main.c" -o"Output\main.o" -MMD -MF"Output\main.d" -I"aql_reglersystem_0_2_code" -I".." -I"..\Alpha_bus" -I"..\AQL_Bus" -I"..\Modbus" -I"..\adio" -I"..\asm" -I"..\display" -I"..\reg" -I"..\COMMON" -I"..\spi" -I"..\MB_Master\mbslave\include" -I"..\MB_Master\mbslave\internal" -I"..\MB_Master\mbslave\include\internal" -I"..\MB_Master\mbslave\functions" -I"..\Master" -I"..\v_uart" -I"..\pmp" -I"..\FreeRTOS\Source\Portable\MemMang" -I"..\MB_Master\XXX" -I"..\MB_Master\mbmaster\ascii" -I"..\MB_Master\mbmaster\rtu" -I"..\MB_Master\mbmaster\functions" -I"..\MB_Master\mbmaster\include\internal" -I"..\MB_Master\mbmaster\include\common" -I"..\MB_Master\mbmaster\include" -I"..\FreeRTOS\Source\include" -I"..\FreeRTOS\Source\portable\MPLAB\PIC32MX" -D__DEBUG -g -Wparentheses -fno-builtin -funsigned-char -Wall -Wno-pointer-sign
Uppenbarligen verkar det vara något man inte styr över själv.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Konstiga felmeddelanden från GCC.

Inlägg av lillahuset »

Det är ditt IDE som skapar röran. Använder du en makefil styr du själv.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av TomasL »

Ja, jag har förstått det, nåväl, vet man om det, så är det ju lätt att undvika.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av TomasL »

pbgp skrev:men att ha en egen string.h är också lite knasigt, som bäddat för missförstånd.
Normala string.h är inte säker, och ibland vill man kanske ha en säker funktion.
Användarvisningsbild
pbgp
Inlägg: 1447
Blev medlem: 11 november 2010, 09:09:22
Ort: Uppsala
Kontakt:

Re: Konstiga felmeddelanden från GCC.

Inlägg av pbgp »

Ja, men då får man väl se till att implementera en memcpy i den också _och_ se till att länkaren hittar rätt.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Konstiga felmeddelanden från GCC.

Inlägg av lillahuset »

:tumupp:
Skriv svar