【发布时间】:2012-07-11 20:19:32
【问题描述】:
如果这个问题含糊不清,我深表歉意,但我真的无法更具体。我有一个相当大的项目要移植到 Windows。最后用 cl 编译并链接到 link.exe 后,我运行它并得到以下“系统错误”:
程序无法启动,因为缺少 C:\Windows\SYSTEM32\tm.sys 从您的计算机。尝试重新安装程序以解决此问题。
这是一个无需安装的控制台应用程序。 tm.sys 是否对您有任何意义,也许是我错过了 Windows 在编译期间允许但现在解释奇怪的 Linux 依赖项?我正在寻找提示/猜测/任何可以运行的东西,因为我完全意识到我的描述(以及缺少代码示例)不太令人满意。
这是一个 C 项目,混合了一些 C++ 代码(C++ 可能占 1%),并且是使用 WDK 构建的。编译生成 5 个静态 .lib 文件和 1 个 .exe 文件。
【问题讨论】:
-
tm.sys是指 Windows 内核模块……至于它是什么或为什么它会阻止您的程序启动,我不知道。你正在做的其他一切似乎都很好。 -
@Cheersandhth.-Alf 这不是病毒——这是在未连接到 Internet 的目标计算机上进行的全新安装。
-
@Conrad Meyer 你走在正确的轨道上。事实证明,我不需要使用 DDK 来构建它,因为它是用户级的,所以这本身就会导致某种依赖。 ntoskrnl.lib 是有问题的库。感谢您的见解。