Процедура входа не найдена?

Я столкнулся со странной проблемой. После обновления до последней Заголовки ffmpeg / lib / dll Я продолжаю получать ошибку:

The procedure entry point __glewProgramUniform1i could not be located in the dynamic link library

Если я изменяю так, чтобы я связывался с glew, используя статическое связывание, то эта конкретная ошибка исчезает, и вместо этого он жалуется на какую-то другую точку входа в процедуру в другой DLL и так далее.

Как только возвращаются к старым заголовкам ffmpeg / lib / dll, проблема исчезает.

Что может вызвать такое поведение? Как мне отладить это?

ПРИМЕЧАНИЕ. Это происходит только во время сборки выпуска, а не во время сборки отладки.

введите описание изображения здесь

введите описание изображения здесь

Зависит от профиля журнала:

Started "CONHOST.EXE" (process 0x1BBC) at address 0x000007F63CF60000.  Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x000007F945C30000.  Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x000007F943400000.  Successfully hooked module.
Loaded "KERNELBASE.DLL" at address 0x000007F942D10000.  Successfully hooked module.
DllMain(0x000007F942D10000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNELBASE.DLL" called.
DllMain(0x000007F942D10000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNELBASE.DLL" returned 1 (0x1).
DllMain(0x000007F943400000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNEL32.DLL" called.
DllMain(0x000007F943400000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNEL32.DLL" returned 1 (0x1).
Injected "DEPENDS.DLL" at address 0x000000005ACD0000.
DllMain(0x000000005ACD0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DEPENDS.DLL" called.
DllMain(0x000000005ACD0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DEPENDS.DLL" returned 1 (0x1).
Loaded "GDI32.DLL" at address 0x000007F945970000.  Successfully hooked module.
Loaded "USER32.DLL" at address 0x000007F943860000.  Successfully hooked module.
Loaded "MSVCRT.DLL" at address 0x000007F945430000.  Successfully hooked module.
Loaded "IMM32.DLL" at address 0x000007F945320000.  Successfully hooked module.
Loaded "OLEAUT32.DLL" at address 0x000007F9454E0000.  Successfully hooked module.
Loaded "COMBASE.DLL" at address 0x000007F9457C0000.  Successfully hooked module.
Loaded "MSCTF.DLL" at address 0x000007F944FD0000.  Successfully hooked module.
Loaded "RPCRT4.DLL" at address 0x000007F944CF0000.  Successfully hooked module.
Entrypoint reached. All implicit modules have been loaded.
DllMain(0x000007F943860000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "USER32.DLL" called.
DllMain(0x000007F945430000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSVCRT.DLL" called.
DllMain(0x000007F945430000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSVCRT.DLL" returned 1 (0x1).
DllMain(0x000007F943860000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "USER32.DLL" returned 1 (0x1).
DllMain(0x000007F945970000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "GDI32.DLL" called.
DllMain(0x000007F945970000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "GDI32.DLL" returned 1 (0x1).
DllMain(0x000007F944FD0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSCTF.DLL" called.
DllMain(0x000007F944FD0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSCTF.DLL" returned 1 (0x1).
DllMain(0x000007F945320000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "IMM32.DLL" called.
DllMain(0x000007F945320000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "IMM32.DLL" returned 1 (0x1).
DllMain(0x000007F944CF0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "RPCRT4.DLL" called.
DllMain(0x000007F944CF0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "RPCRT4.DLL" returned 1154577921 (0x44D17601).
DllMain(0x000007F9457C0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "COMBASE.DLL" called.
DllMain(0x000007F9457C0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "COMBASE.DLL" returned 1 (0x1).
DllMain(0x000007F9454E0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "OLEAUT32.DLL" called.
DllMain(0x000007F9454E0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "OLEAUT32.DLL" returned 1 (0x1).
Loaded "UXTHEME.DLL" at address 0x000007F941950000.  Successfully hooked module.
DllMain(0x000007F941950000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "UXTHEME.DLL" called.
DllMain(0x000007F941950000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "UXTHEME.DLL" returned 1 (0x1).
Error writing a breakpoint at the entrypoint return of "".  Entrypoint cannot be hooked. Invalid access to memory location (998).
Loaded "" at address 0x00000019D1220000.  Successfully hooked module.
Unloaded "" at address 0x00000019D1220000.
Loaded "START8_64.DLL" at address 0x000007F93A130000.  Successfully hooked module.
DllMain(0x000007F93A130000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "START8_64.DLL" called.
GetProcAddress(0x000007F943860000 [USER32.DLL], "CreateWindowInBand") called from "START8_64.DLL" at address 0x000007F93A1C0941 and returned 0x000007F943872C20.
LoadLibraryA("ADVAPI32.dll") called from "START8_64.DLL" at address 0x000007F93A1A1D5C.
Loaded "ADVAPI32.DLL" at address 0x000007F944E40000.  Successfully hooked module.
Loaded "SECHOST.DLL" at address 0x000007F9439B0000.  Successfully hooked module.
DllMain(0x000007F9439B0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SECHOST.DLL" called.
DllMain(0x000007F9439B0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SECHOST.DLL" returned 1 (0x1).
DllMain(0x000007F944E40000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "ADVAPI32.DLL" called.
DllMain(0x000007F944E40000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "ADVAPI32.DLL" returned 1 (0x1).
LoadLibraryA("ADVAPI32.dll") returned 0x000007F944E40000.
GetProcAddress(0x000007F944E40000 [ADVAPI32.DLL], "RegOpenKeyExW") called from "START8_64.DLL" at address 0x000007F93A1A1E59 and returned 0x000007F944E413D0.
GetProcAddress(0x000007F944E40000 [ADVAPI32.DLL], "RegQueryValueExW") called from "START8_64.DLL" at address 0x000007F93A1A1E59 and returned 0x000007F944E413F0.
GetProcAddress(0x000007F944E40000 [ADVAPI32.DLL], "RegCloseKey") called from "START8_64.DLL" at address 0x000007F93A1A1E59 and returned 0x000007F944E413B0.
GetProcAddress(0x000007F943860000 [USER32.DLL], "GetWindowBand") called from "START8_64.DLL" at address 0x000007F93A1C0A91 and returned 0x000007F943863210.
GetProcAddress(0x000007F943860000 [USER32.DLL], "SetWindowBand") called from "START8_64.DLL" at address 0x000007F93A1C0AC1 and returned 0x000007F943872BB0.
DllMain(0x000007F93A130000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "START8_64.DLL" returned 1 (0x1).
Loaded "DWMAPI.DLL" at address 0x000007F941120000.  Successfully hooked module.
DllMain(0x000007F941120000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DWMAPI.DLL" called.
DllMain(0x000007F941120000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DWMAPI.DLL" returned 1 (0x1).
Loaded "COMCTL32.DLL" at address 0x000007F940010000.  Successfully hooked module.
DllMain(0x000007F940010000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "COMCTL32.DLL" called.
DllMain(0x000007F940010000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "COMCTL32.DLL" returned 1 (0x1).
Loaded "OLE32.DLL" at address 0x000007F945AB0000.  Successfully hooked module.
DllMain(0x000007F945AB0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "OLE32.DLL" called.
DllMain(0x000007F945AB0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "OLE32.DLL" returned 1 (0x1).
Loaded "CRYPTBASE.DLL" at address 0x000007F9429A0000.  Successfully hooked module.
Loaded "BCRYPTPRIMITIVES.DLL" at address 0x000007F942940000.  Successfully hooked module.
DllMain(0x000007F942940000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "BCRYPTPRIMITIVES.DLL" called.
DllMain(0x000007F942940000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "BCRYPTPRIMITIVES.DLL" returned 1 (0x1).
DllMain(0x000007F9429A0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "CRYPTBASE.DLL" called.
DllMain(0x000007F9429A0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "CRYPTBASE.DLL" returned 1 (0x1).
Loaded "SHCORE.DLL" at address 0x000007F941D20000.  Successfully hooked module.
DllMain(0x000007F941D20000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SHCORE.DLL" called.
DllMain(0x000007F941D20000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SHCORE.DLL" returned 1 (0x1).

3

Решение

Скорее всего, вы обновили файлы .h и .lib, но ссылаетесь на устаревшую DLL. Убедитесь, что DLL, на которую ссылается ваша программа, соответствует файлам .h и .lib.

Вы можете отлаживать то, что происходит во время загрузки программы, запустив Dependency Walker в режиме профиля. Это покажет полный путь к DLL, которая фактически загружена, и тогда вы сможете разобраться, что пошло не так.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]