草庐IT

c++ - 在 Windows 7 中交叉编译 C 和 C++ 应用程序,在 linux 下使用 MinGW

我在Windows7上安装了MinGW编译器,GCC版本是4.6.1。我有HelloWorld应用程序:#includeintmain(intargc,char*argv[]){printf("HelloWorld!");return0;}我如何使用MinGW编译器在Windows7下编译这个应用程序,以便我可以在linux中运行这个应用程序,而无需重新编译。 最佳答案 您需要在这里区分两个系统:build系统,即您的编译器运行所在的系统,以及host系统,即您的可执行文件将运行的系统运行。MinGW是主机系统Windows的GCC

c++ - 是否可以使用 Cygwin 或 MinGW 将 Linux 守护程序移植到 Windows?

我有一个作为守护进程运行的LinuxC++应用程序。当用户执行这个应用程序时,它会在后台运行,监听一个端口,等待来自客户端的连接。是否可以使用Cygwin或MinGW将此类应用程序移植到Windows平台?谢谢。 最佳答案 Cygwin的目标是实现POSIX/Linux源代码级别的兼容性,因此您的应用程序应该可以在不进行修改或仅进行少量修改的情况下构建和工作。MinGW不会尝试提供这样的兼容层。它只是适用于Windows的GNU工具链,因此您需要用Windows等效项替换对POSIX/Linux特定API的任何使用。

c - 遇到依赖于编译器和声明的无限循环

在这个程序中有一行我创建了一个名为“疯狂整数”。如果我不创建这个变量,MinGW会创建一个无限循环!我似乎没有用任何其他编译器遇到这个问题。谁能告诉我这是怎么回事?重新创建:使用MingW下载最新版本的CodeBlocks,创建一个新的控制台项目,并尝试运行这个程序。然后,尝试删除我创建“crazy_integer”的代码行并再次运行该程序。结果应该是一个无限循环。//InthisprogramthereisalinewhereIcreateavariablecalled//"crazy_integer".////IfIdonotcreatethisvariable,CodeBlock

c++ - 如何在 Windows 上从命令行使用 MinGW 编译器?

我已经安装了BloodshedDev-C++我的Windows7机器上的编译器。现在如何从命令行编译? 最佳答案 文件main.cpp:intmain(){return0;}编译:g++-Wallmain.cpp-omainMinGW的bin文件夹必须在路径环境变量中,对于g++有很多关于如何使用它的文档。据我所知,Linux中的g++/MinGW和g++没有区别,因此任何Linux教程也适用于Windows。 关于c++-如何在Windows上从命令行使用MinGW编译器?,我们在St

c - Qt 5.2.1 错误 “collect2.exe: Id returned 1 exit status”

当我尝试构建我的应用程序时,出现以下错误。任何的想法?我在Win8上使用Qt5.2.1和MinGW4.832位16:14:47:Runningstepsforprojecttest2...16:14:47:Configurationunchanged,skippingqmakestep.16:14:47:Starting:"C:\Qt\Tools\mingw48_32\bin\mingw32-make.exe"C:/Qt/Tools/mingw48_32/bin/mingw32-make-fMakefile.Debugmingw32-make[1]:Enteringdirectory'

c - C 中的 ISO 8601 周数

我正在尝试使用C获取ISO8601周数。我的PC上安装了MinGW。GCC版本是5.3.0。你可以在下面看到我的代码。strftime不适用于说明符“%V”。但它适用于说明符“%W”。但这不是我想要的。我需要ISO8601格式的年份周数。我已经用2个不同的在线C编译器测试了我的代码,它们都运行良好。我怀疑我电脑上的编译器没有配置好。谁能告诉我我做错了什么?任何帮助将不胜感激。这是我的代码:#include#include#includeintmain(){time_ttimep;structtm*time_inf;charbuff[80];time(&timep);time_inf=l

c++ - 程序在 cmd 中运行,在 cygwin 中立即退出,状态为 127,在 emacs shell 中没有输出

我有以下程序,我正在使用MinGW编译它:#include#includeusingnamespacestd;intmain(){cout当我在Windows命令提示符下编译并运行该程序时,我得到了预期的以下输出:C:\p\conscell>conscell.exeaoeu但是,当我在Cygwin中运行它时,我得到以下输出(或没有输出):$./conscell.exe$echo$?127如您所见,退出代码为127,表示找不到文件或库依赖项。此外,当我在emacs的M-xshell中运行程序时(运行C:/ProgramFiles/Emacs/libexec/emacs/25.3/x86_

Python getpass 不适用于 Windows Git Bash (MINGW64)

我有这个简单的python代码来获取密码而不回显它。importgetpasspassword=getpass.getpass("Password:")print(password)此代码在Linux上按预期工作,但在WindowsGitBash上它让我无限期地键入。作为一种解决方法,我可以使用PowerShell中的脚本,但为了运行脚本而更改shell很烦人。您是否知道Python中的任何其他非回显库或此问题的任何解决方法? 最佳答案 一般问题好像是这样的:Pythongetpass.getpass()functioncallha

使用 <filesystem> 库的 C++ 程序在 Windows 上什么都不做

我正在尝试使用获取程序在Windows上运行的库。我正在使用MSYS2(64位)g++.#include#includeintmain(){std::cout我正在构建它g++-std=c++17-Wall-Werror-Wextramain.cpp-lstdc++fs我没有从编译器得到控制台输出。它默默地生成一个a.exe.执行a.exe什么都不做。没有输出,也没有错误。$?(据说包含程序的返回码)是127运行程序后。g++-v打印:Usingbuilt-inspecs.COLLECT_GCC=C:\msys64\mingw64\bin\g++.exeCOLLECT_LTO_WRAP

c - 在 Windows 中区分 cmd line args 和 drag-onto-icon args 的方法?

我有一个用C(MinGW)编写的WindowsGUI应用程序,我想让该应用程序执行不同的任务,具体取决于它是通过带有文件名参数的命令行启动的,还是通过将文件拖到应用程序图标上启动的。现在的样子,下面的函数不区分两者:intargc;LPWSTR*argv=CommandLineToArgvW(GetCommandLineW(),&argc);当一个文件被拖到应用程序的图标上时,它假定它是通过命令行启动的。这个问题是我需要额外的参数,这些参数必须通过命令行传递才能做任何有用的事情。文件名本身不够,所以应用程序只是退出,因为它没有足够的信息来继续。我希望用户能够将文件拖到应用程序图标上,然