Search code examples
c++cwindowslinuxwdk

Porting from Linux to Windows, tm.sys


I apologize if this question is vague, but I can't really get any more specific. I have a pretty large project that I'm porting to Windows. After finally getting it to compile with cl, and link with link.exe, I run it and get the following 'System Error':

The program can't start because C:\Windows\SYSTEM32\tm.sys is missing from your computer. Try reinstalling the program to fix this problem.

It's a console application which requires no installation. Does tm.sys signify anything to you, perhaps a Linux dependency that I missed that Windows allowed during compile time but is now interpreting oddly? I'm looking for hints/guesses/anything to run with because I fully realize that my description (and lack of code example) is less than satisfying.

It is a C project with some mixed in C++ code (C++ accounts for maybe 1%), and is built using the WDK. The compilation yields 5 static .lib files and one .exe file.


Solution

  • The issue resided within ntoskrnl.lib. I removed that unnecessary library from my sources file and the executable ran fine. I'm not sure the significance of tm.sys, but lesson learned: KNOW YOUR DEPENDENCIES!