Ошибки, баги, вопросы - страница 3729

 
Roman #:
Не пользуюсь мт4, по расширению файла в принте видно, что mq5
За битность знаю, коммент даже специально написал.

C:\Windows\SysWOW64

Явно путь к kernel32.dll пропиши, если полечится, то у тебя не та либа находится загрузчиком

 
Vladimir Simakov #:

C:\Windows\SysWOW64

Явно путь к kernel32.dll пропиши, если полечится, то у тебя не та либа находится загрузчиком

Другие функции по пути #import "kernel32.dll" выполняются без проблем, значит линковка есть.

Посмотрел поиском где лежит kernel32.dll, какой то замудрённый путь в Windows 11
добавил этот путь

#import "C:\Windows\WinSxS\wow64_microsoft-windows-kernel32_31bf3856ad364e35_10.0.22621.5415_none_7df8e1db0642ade4\kernel32.dll"
   //Для 64-битной системы
   void QueryUnbiasedInterruptTimePrecise(ulong & lpUnbiasedInterruptTimePrecise);
#import

нифига, тоже ошибка

cannot load 'C:\Windows\WinSxS\wow64_microsoft-windows-kernel32_31bf3856ad364e35_10.0.22621.5415_none_7df8e1db0642ade4\kernel32.dll' [193]
cannot call 'void kernel32::QueryUnbiasedInterruptTimePrecise(ulong&)', module 'C:\Windows\WinSxS\wow64_microsoft-windows-kernel32_31bf3856ad364e35_10.0.22621.5415_none_7df8e1db0642ade4\kernel32.dll' is not loaded
unresolved import function call in 'TEST.mq5' (1,1)
прошлая ошибка была cannot find
по этому пути cannot load
 
Roman #:
QueryUnbiasedInterruptTimePrecise

Правильный, 64-х битный Kernel32.dll живет в System32

А проблема, скорее всего,  в этом:

To compile an application that uses this function, define _WIN32_WINNT as 0x0601 or later. For more information, see Using the Windows Headers.

https://learn.microsoft.com/en-us/windows/win32/api/realtimeapiset/nf-realtimeapiset-queryunbiasedinterrupttimeprecise

Но, если проблема в этом, то это косяк метаквотов.

Using the Windows Headers - Win32 apps
Using the Windows Headers - Win32 apps
  • stevewhims
  • learn.microsoft.com
Use the Windows header files to create applications that use the Windows API.