TCC не может найти функции Windows API, но GCC может - PullRequest
0 голосов
/ 09 января 2019

Я пишу программу, которая обращается к ключам реестра с помощью Windows API. Я пытаюсь скомпилировать свою программу с помощью TCC, но она выдает ошибку «неопределенный символ» в отношении функций, которые я вызываю из API-интерфейсов Windows. Я решил попробовать и снова скомпилировать его с GCC, и он работает отлично, никаких проблем.

Я уже писал программы, использующие API-интерфейсы Windows, и прекрасно их компилировал с помощью TCC, но всякий раз, когда я пытаюсь скомпилировать что-либо, имеющее отношение к реестру API-интерфейсов Windows, он возвращает ошибки «неопределенный символ».

#include <stdio.h>
#include <Windows.h>

int main(int argc, char *argv[])
{
  HKEY hkey = HKEY_LOCAL_MACHINE;
  char key_name[] = "SOFTWARE\\7-zip";
  HKEY key = NULL;

  DWORD err = RegOpenKey(hkey, key_name, &key);

  if (err != ERROR_SUCCESS)
  {
    printf("error opening key: %d\n", err);
  }
  else
  {
    printf("success");
  }
}
...