C++ MSVC2012: Code wird in einem Projekt Kompiliert, im anderem nicht.

Fonce

Captain
Registriert
Feb. 2006
Beiträge
3.436
Hier ich versuche grade die libtiff unter Windows zu kompilieren.
Problem ist, das er eine Datei bzw. deren Funktion nicht kompilieren möchte.

Code:
#if 0
static char sccsid[] = "@(#)lsearch.c	8.1 (Berkeley) 6/4/93";
__RCSID("$NetBSD: lsearch.c,v 1.2 2005/07/06 15:47:15 drochner Exp $");
#endif

#ifdef _WIN32_WCE
# include <wce_types.h>
#else
# include <sys/types.h>
#endif

#ifndef NULL
# define NULL 0
#endif

void *
	lfind(const void *key, const void *base, size_t *nmemb, size_t size,
	int(*compar)(const void *, const void *))
{
	char *element, *end;

	end = (char *)base + *nmemb * size;
	for (element = (char *)base; element < end; element += size)
		if (!compar(element, key))		/* key found */
			return element;

	return NULL;
}

Als Fehlermeldung gibt er folgendes aus.

Unbenannt.JPG

Wenn ich mir diese Funktion allerdings in ein anderes Projekt kopiere, kompiliert er sie ohne Probleme.
 
Hat die Datei in dem anderen Projekt, in die die Funktion kopiert hast, zufällig die Endung .cpp?
 
Da fehlt wohl die Typdeklaration von size_t in der entsprechenden Windows Typdatei.

Schreib mal typedef unsigned int size_t; vor die Funktion.

Bzw. inkludier mal die Datei stdlib.h (direkt deklariert ist size_t in crtdefs.h)
#include <stdlib.h>
 
Zuletzt bearbeitet:
danke, ein

Code:
#include <stdlib.h>

hat geholfen.
 
Zurück
Oben