在 Windows 7 中创建 POSIX 应用程序?

Posted

技术标签:

【中文标题】在 Windows 7 中创建 POSIX 应用程序?【英文标题】:Creating POSIX applications in Windows 7? 【发布时间】:2013-12-02 22:40:53 【问题描述】:

那么,POSIX 子系统还在吗? 我有 Visual Studio 2012。我试图编译一个“hello world”Posix 应用程序,但它似乎缺少入口点:

>cl stuff.cpp /Fostuff.obj /link /subsystem:posix

LINK : 错误 LNK2001: 无法解析的外部符号 __PosixProcessStartup unlink.exe : 致命错误 LNK1120: 1 unresolved externals

一些谷歌搜索显示我需要 psxdll.lib 和其他一些库,但它们在哪里? Visual Studio 没有它们,最新的 Windows SDK 也没有。他们是否在不告诉任何人的情况下悄悄扼杀了创建 POSIX 应用程序的能力?

【问题讨论】:

如果您有 Windows 7 Ultimate 或 Enterprise,您可以从控制面板/程序中的 Windows 选项安装 psxdll.dll 和朋友。要将实际工具放入 Windows\SUA 目录,您还需要获得基于 Unix 的应用程序 SDK 的子系统。但是你在哪里得到 psxdll.lib 和朋友也打败了我,因为它似乎没有随 Windows SDK 5.0、6.0、7.0A、7.0 和 Windows Server 2008 SDK 一起提供。我确实在 MASM32 SDK 发行版中找到了 lib 文件,但我无法确认 PSXDLL.DLL 的版本以及对应的朋友。 【参考方案1】:

这需要 Windows 7 Ultimate 或 Enterprise。安装了一组最小的 Microsoft Subsystem for Unix-based Applications (SUA),但您必须从 Microsoft 下载其余位:

http://www.microsoft.com/en-us/download/details.aspx?id=2391

直到下载包Utilities and Software Development Kit for 基于 UNIX 的应用程序子系统(SUA 的实用程序和 SDK)具有 已安装在计算机上,您无法运行或修改基于 UNIX 的 脚本和基于 UNIX 的自定义应用程序。

【讨论】:

这是理论。看看问题的cmets。全部尝试时,找不到任何 psxdll.lib,是吗?我尝试了以上所有方法(就像 OP 一样),但从未在上面指出的任何下载中找到单个 psxdll.lib。我认为肯定知道相关 .lib 文件隐藏在哪里的人应该在这里有所了解。在那之前,我倾向于同意@IvanKrivyakov 的观点,即支持已被默默打破。

以上是关于在 Windows 7 中创建 POSIX 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 7 (Windows 2008 R2) 中创建 RAM 驱动器?

在线程中创建posix共享内存

在 Windows 上使用 GFortran 在 Matlab 中创建 Mex 文件

如何在 BigQuery 中创建 UDF?例程名称缺失数据集

如何在python中创建一个在间隔函数调用上线程化的后台?

为啥在 VS 2015 中创建的默认 windows 8 通用应用程序具有深色背景