Компиляция кода C с VLD - PullRequest
       26

Компиляция кода C с VLD

1 голос
/ 09 января 2012

Я пытаюсь скомпилировать библиотеки SDL с помощью Visual C ++ (2010) и Visual Leak Detector, чтобы найти утечку памяти в другой программе, которая вызывает SDL.

Проблема в том, что vld.hэто библиотека C ++, а SDL.c это программа на CСоответственно, когда я #include, исходный код не компилируется, так как VLD, кажется, использует специфические для C ++ конструкции:

typedef int (__cdecl * VLD_REPORT_HOOK)(int reportType, wchar_t *message, int *returnValue);

__declspec(dllimport) int VLDSetReportHook(int mode,  VLD_REPORT_HOOK pfnNewHook);

Я попытался скомпилировать SDL.c как программу C ++, но я получаю множествоошибок.

Есть ли способ включить VLD в SDL?

1 Ответ

3 голосов
/ 09 января 2012

(спасибо @Matias Valdenegro)

Проблема была в wchar_t.Чтобы иметь возможность перекомпилировать SDL (и я предполагаю, что другие исходные файлы C), чтобы включить VLD, добавьте

#include <wchar.h>

к vld.h и vld_def.h.После этого SDL успешно скомпилируется и может использоваться с программой SDL для обнаружения утечек памяти, возникающих из Surfaces и т. П.

...