• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

OTClient OTCv8 is only compatible with Windows 10

Addams

OTMadness.com OTSes Services
Staff member
Board Moderator
Joined
Sep 29, 2009
Messages
2,934
Solutions
344
Reaction score
1,705
Location
Egypt
I have been using my own compiled OTCv8 for a while now, but I just figured out some hours ago that my compiled version of this OTCv8 does not work with any Windows other than Windows 10.

Showing this error here
Code:
The procedure entry point CreateFile2 could not be located in the dynamic link library KERNEL32.dll

I compiled it with:
  • Visual Studio 2022
  • Windows SDK Version: 10.0
  • Platform Toolset: v143
I am trying to compile it now with older Visual Studio, SDK Versions, and Platform Toolsets but getting errors/warnings.
I also thought I might change the optimizations to something other than SSE2, but I figured out that's not the case, Since it's not an old CPU but an old Windows.

Note: Official compiled OTCv8 works with older Windows versions down to like Windows XP, So there must be a way to do it.

So I will keep this here in case someone has a tip or a solution, and in the meantime, I will continue trying myself.

Edit: Errors I am getting with SDK Version: 10.0.18362.0 and Platform Toolset: v142
Code:
OpenAL32.lib(hrtf.cpp.obj) : error LNK2001: unresolved external symbol ___std_reverse_copy_trivially_copyable_8
fatal error LNK1120: 1 unresolved externals
 
Last edited:
VS 2019, use platform v142.
Same error, I tried with both SDK Version: 10.0 and SDK Version: 10.0.18362.0
I have also tried both Visual Studio 2022 and Visual Studio 2019 not only by setting platform but downloading program itself.
Code:
OpenAL32.lib(hrtf.cpp.obj) : error LNK2001: unresolved external symbol ___std_reverse_copy_trivially_copyable_8
fatal error LNK1120: 1 unresolved externals
 
If you can't compile it
at your place because you have a problem with KERNEL32.dll

I have an idea for you
try to compile through an online compiler
there are many online compilers
that compile files for the Windows system of your choice
 
If you can't compile it
at your place because you have a problem with KERNEL32.dll

I have an idea for you
try to compile through an online compiler
there are many online compilers
that compile files for the Windows system of your choice
🤣
 
Most old systems have a problem with kernel32.dll
in case you hadn't noticed



wanted a solution or an idea I gave it to him
Mate, you just googled his error and a bunch of bullshit auto-generated websites about .dlls came up, that's where you got this "idea".
 
first of all, I am not your friends
secondly I didn't google his mistake because I know him
thirdly, I gave him the solution

You can at most google something for yourself.

You can even google yourself now and you'll see I came up with it myself :)

that's why I wrote here
because I wanted to help him
and you are out of ideas
 
Last edited:
vcpkg not integrated with VS 2019
Not this too, I have re-integrated it, and still same error.
Code:
.\vcpkg integrate install
I also (to get sure) compiled TFS 1.4.2 using Visual Studio 2022 and then compiled Nostalrius using Visual Studio 2019 and both worked fine.
Is there any specific component I might be missing on Visual Studio that isn't needed for TFS? I guess not because I can compile OTCv8 using Visual Studio 2022 normally.
If you can't compile it
at your place because you have a problem with KERNEL32.dll

I have an idea for you
try to compile through an online compiler
there are many online compilers
that compile files for the Windows system of your choice
I can compile it, KERNEL32.dll is related to users with old Windows trying to run OTCv8 so I am trying to find a solution using an older Toolset/Platform.
I don't think an online compiler will make any difference in this case (if it's even possible to compile OTCv8 there).
 
In Visual Studio, you can change the target Windows version to make sure your code is compatible with older versions. To do this, open your project settings, and under General, change the "Windows SDK Version" to an older version, such as 10.0.17763.0 or even earlier

Change Platform Toolset:
As you mentioned, you tried using the v142 platform toolset but encountered errors/warnings. You can try using an older platform toolset that is compatible with the older Windows SDK. You can experiment with different toolsets (v141, v140, etc.) to see which one works best for your requirements.

The linker error you encountered when using SDK Version: 10.0.18362.0 and Platform Toolset: v142 may be due to changes in the standard library implementation. Try checking the compiler and linker flags and ensure they are set correctly for the chosen platform toolset.

Test on Older Windows Versions:If possible, set up virtual machines or test environments with older Windows versions Windows 7, Windows 8, or Windows XP and test your compiled OTCv8 to verify its compatibility.

cross-compile
Since you mentioned that you successfully compiled TFS 1.4.2 using Visual Studio 2022, consider cross-compiling OTCv8 from Visual Studio 2022 for older Windows versions. You can do this by setting the appropriate Windows SDK and Platform Toolset in the Visual Studio 2022 project settings and then targeting an older Windows version.

You're right about the online compiler
may work may not work
but you can do the test
 
Last edited:
I like how some of his sentences are formatted like that
You're right about the online compiler
may work may not work
but you can do the test
and some are like that
In Visual Studio, you can change the target Windows version to make sure your code is compatible with older versions. To do this, open your project settings, and under General, change the "Windows SDK Version" to an older version, such as 10.0.17763.0 or even earlier

Change Platform Toolset:
As you mentioned, you tried using the v142 platform toolset but encountered errors/warnings. You can try using an older platform toolset that is compatible with the older Windows SDK. You can experiment with different toolsets (v141, v140, etc.) to see which one works best for your requirements.

The linker error you encountered when using SDK Version: 10.0.18362.0 and Platform Toolset: v142 may be due to changes in the standard library implementation. Try checking the compiler and linker flags and ensure they are set correctly for the chosen platform toolset.
But no link, no credit left
Noice Thats Nice GIF


@topic
I had no issues after compiling on VS2022, v143, Win10 SDK, x64, so this shouldn't be the case.
Make sure that you have all required libraries (openal-soft:x86-windows-static) and that you integrated your vcpkg... but idk, maybe its x86 issue?
 
Last edited:
In Visual Studio, you can change the target Windows version to make sure your code is compatible with older versions. To do this, open your project settings, and under General, change the "Windows SDK Version" to an older version, such as 10.0.17763.0 or even earlier

Change Platform Toolset:
As you mentioned, you tried using the v142 platform toolset but encountered errors/warnings. You can try using an older platform toolset that is compatible with the older Windows SDK. You can experiment with different toolsets (v141, v140, etc.) to see which one works best for your requirements.

The linker error you encountered when using SDK Version: 10.0.18362.0 and Platform Toolset: v142 may be due to changes in the standard library implementation. Try checking the compiler and linker flags and ensure they are set correctly for the chosen platform toolset.

Test on Older Windows Versions:If possible, set up virtual machines or test environments with older Windows versions Windows 7, Windows 8, or Windows XP and test your compiled OTCv8 to verify its compatibility.

cross-compile
Since you mentioned that you successfully compiled TFS 1.4.2 using Visual Studio 2022, consider cross-compiling OTCv8 from Visual Studio 2022 for older Windows versions. You can do this by setting the appropriate Windows SDK and Platform Toolset in the Visual Studio 2022 project settings and then targeting an older Windows version.

You're right about the online compiler
may work may not work
but you can do the test
I have already tried all this, Thank you anyway.
I had no issues after compiling on VS2022, v143, Win10 SDK, x64, so this shouldn't be the case.
I can compile it too using VS2022, v143, and Windows SDK 10.0
The issue starts when trying to compile with VS2019, v142
Make sure that you have all required libraries (openal-soft:x86-windows-static) and that you integrated your vcpkg... but idk, maybe its x86 issue?
I have it already installed installed.PNG, I think if I am missing any libraries then it wouldn't compile on VS2022 too, So it's mostly something else.
 
Last edited:
But why would you do that? :eek:
I just started some private tests yesterday, and 4 of my testers had Windows 7. No one of them managed to run the client, all had the same error. But they were able to run the official OTCv8 from here, So I am for sure doing something wrong with my compile.

Code:
The procedure entry point CreateFile2 could not be located in the dynamic link library KERNEL32.dll

Going to an older compiler version/platform/SDK was just a rough guess/test.
I am trying to say that I had no issues with the exe's compatibility.
Which Windows? If it's 10, then you will not notice any compatibility issues.
 
Last edited:
If you have linker errors on older SDK etc, you might want to try using older pkg versions.

If this won't help, I am afraid its time to move on 🕯️

Not even windows 11?
No issues with that, i am running it right now
 
Last edited:
Back
Top