#184 XP x64 kernel32.dll don't have function RegOpenKeyExA


XP x64 kernel32.dll don't have function RegOpenKeyExA, but mingw-w64-crt/lib64/kernel32.def has this function define,
which make the application compiled can not run under XP x64


  • Jonathan Yong

    Jonathan Yong - 2010-08-01

    Linking to the import library will not cause the application to use RegOpenKeyExA. The application itself should be fixed to avoid calling that function.

    You can use LoadLibrary and GetProcAddress to check if the function exists at runtime and handle appropriately if its not found.

  • Jonathan Yong

    Jonathan Yong - 2010-08-01
    • status: open --> pending-invalid
  • Jonathan Yong

    Jonathan Yong - 2010-08-08
    • status: pending-invalid --> closed-invalid
  • Jonathan Yong

    Jonathan Yong - 2010-08-08

    I hope you were able to resolve your issue with the application you compiled.

  • Nobody/Anonymous

    gcc configure test what library is need to use RegOpenKeyExA(), the test result is no need to link any library, but this is not true under winXP.

    you can run the gcc.exe under winXP, which got error.

    adding --disable-win32-registry can bypass this issue.

  • NightStrike

    NightStrike - 2010-10-14

    The real issue I'm guessing is in how configure actually tests for symbol names.

    The right thing to do is to set your windows version macros to the version of windows that you want to target, and then proceed accordingly. We have all inclusive def files that do not distinguish between windows versions. So if you rely on those tests, you might see unexpected results.


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks