Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Mac创建Windows CLI_C_Windows_Macos_Command Line Interface - Fatal编程技术网

如何从Mac创建Windows CLI

如何从Mac创建Windows CLI,c,windows,macos,command-line-interface,C,Windows,Macos,Command Line Interface,想知道如何在Windows上运行的Mac上制作命令行界面/工具。我知道你可以从整个系统中创建一个exe,但我想知道如何在较低的级别上实现这一点。编写一些C库并使用VisualStudio进行编译。想知道在Mac上编译/测试时,仅将hello world打印到终端的hello world CLI对于Windows是什么样子。要在Mac上生成Windows可执行文件,需要交叉编译器。您可以使用Brew或MacPorts安装MinGW或MinGW-w64 for x86_64二进制文件工具链 请参阅或

想知道如何在Windows上运行的Mac上制作命令行界面/工具。我知道你可以从整个系统中创建一个exe,但我想知道如何在较低的级别上实现这一点。编写一些C库并使用VisualStudio进行编译。想知道在Mac上编译/测试时,仅将hello world打印到终端的hello world CLI对于Windows是什么样子。

要在Mac上生成Windows可执行文件,需要交叉编译器。您可以使用Brew或MacPorts安装MinGW或MinGW-w64 for x86_64二进制文件工具链

请参阅或从中选择所需的端口

安装后,您将拥有“i686-w64-mingw32-gcc”二进制文件和已安装的C运行时库,以便您可以使用

/path/to/i686-w64-mingw32-gcc -o app.exe app.c
指挥部

作为初学者,我会使用Hello,World测试,如

#include <stdio.h>
int main() { return printf("Hello, world!\n"); }
如果您的CLI工具依赖于第三方库,则必须使用“i686-w64-mingw32-gcc”编译器编译所有库。在每种情况下,通常需要一些特定于库的设置


要快速调试一些与平台无关的东西,您可以为MacOS编译相同的应用程序,也可以使用Wine emulator运行编译后的.exe文件。

一个简单的hello world程序无论目标平台如何,看起来都是一样的。对于纯文本程序,需要更改的不是源代码,而是编译器。对交叉编译进行一些研究。如果是需要配置和生成的项目呢??对于配置/生成项目,您必须指定sysroot、CC和其他系统变量,以便./configure找到所需的mingw环境。