ファイルの MIME タイプを検出するために lib マジック ライブラリを使用する必要があるプロジェクトに取り組んでいます。Windows には 64 ビット バージョンを使用しています ( https://github.com/nscaife/file-windowsを参照)。私のプロジェクト自体はPythonから呼び出すC dll。ライブラリのロードは正常に機能していますが、GetProcAddress() を使用して関数にアクセスすると、NULL が返され、GetLastError() 関数は 126 を返します。私のコードを参照してください。
int DLL_EXPORT mag()
{
char *actual_file = "test.db";
const char *magic_full;
HMODULE hModule = LoadLibrary("libmagic-1.dll");
if(hModule == NULL) //No problem here
return GetLastError();
magic_t (*t0)(int) = (void *) GetProcAddress(hModule, "magic_open");
const char (*t)(magic_t, const char *) = (void *)
GetProcAddress(hModule, "magic_file");
if(t0 == NULL && t == NULL);
return GetLastError();
magic_t magic_cookie;
magic_cookie = t0(MAGIC_MIME);
magic_full = t(magic_cookie, actual_file);
return 0;
}
ここで問題は何ですか?