En fait, j'essaie de compiler un projet c/C++ avec mingw. Le même projet est en fait compilé avec le compilateur Visual Studio. Pour cela, j'ai écrit un makefile et tout fonctionne jusqu'à présent.'memcpy' n'a pas été déclaré dans cette portée lors de l'utilisation du compilateur gcc
Au cours de la compilation j'obtiens l'erreur en ce qui concerne les fonctions qui sont déclarées string.h et STDIO.H sont acceptés dans les memcpy comme(), printf() ..., avec l'erreur suivante:
error: 'memcpy' was not declared in this scope
C'est parce que le compilateur didn ne trouve pas les fonctions. Lors de la compilation au sein du studio visuel, cette erreur ne semble pas, logiquement, à cause du compilateur comprennent des chemins comme:
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\
Ma question est maintenant: Que dois-je faire dans mon makefile pour dire au compilateur d'utiliser le " string.h "et" stdio.h "fonctions du mingw. J'ai essayé de mettre le chemin d'inclusion dans le makefile, comme:
INCLUDE_DIRS =\
C:\MinGW\include
mais cela n'a aucun effet. Et aussi, il y a une différence entre le string.h et stdio.h de visual studio et string.h et stdio.h utilisés par gcc. Cela peut-il être un problème?
Avez-vous '#include' dans votre fichier source? –
duplication possible de ['memcpy' n'a pas été déclaré dans cette portée] (http://stackoverflow.com/questions/24850479/memcpy-was-not-declared-in-this-scope) –
Non, il n'est pas inclus dans le fichier source. Donc, c'est la question, il est possible de le forcer via makefile? – JohnDoe