草庐IT

windows - 使用 shell 命令的 GNU MAKE 异常

我在WIN7PC上对我的项目运行make并收到以下错误:make:Interrupt/Exceptioncaught(code=0xc0000005,addr=0x0040b0ac)当删除一些make部件时,似乎以下行是有问题的:$(shellifexist$(1)echoYES)任何想法似乎是什么问题?解决方案?谢谢!更新:我正在使用gnumake3.81.1mingw32,同样的make和makefile用于我以前的WINXP(32位),升级到WIN7后出现问题。 最佳答案 好的,我想我明白了。显然它与PATH相关,如果我用预定

在 Linux 上使用 MinGW 为 Windows 编译 Gnu11

我有一个C程序;它使用gcc-std=gnu11iter.c-oiter进行编译和链接,因为我正在使用一些GNUstring.h扩展,例如strndup,strnlen和strsep。我想在UbuntuLinux上使用包i686-w64-mingw32-gcc为Windows编译这个程序。$i686-w64-mingw32-gcc-std=gnu11iter.c-oiter32.exeInfileincludedfromiter.c:1:0:iter.h:Infunction‘str_chomp’:iter.h:166:15:warning:implicitdeclarationoff

windows - C99 代码在 Linux 上编译,在 Windows 上语法错误

我有一个C99代码库,可以在Linux上使用GCC和Clang完美编译和运行;然而,在MinGW-w64(通过MSYS2安装)上,它会给出如下错误include/math3d.h:Infunction'matPerspective':include/math3d.h:577:1:error:parameternameomittedmatPerspective(floaty_fov,floataspect,floatnear,floatfar)^~~~~~~~~~~~~~include/math3d.h:577:1:error:parameternameomittedinclude/ma

c++ - MS 链接从 gnu make 失败,但从 cmd 行工作

最近我的gnumakefile停止链接我的C++项目。我做了一些改变。我已经复制了链接行并从批处理文件中运行它。它构建良好。但是当我运行make时,同一行奇怪地失败了。它给出的错误是:LINK:fatalerrorLNK1181:cannotopeninputfile'user32.lib'这一定是个误会,因为在同一个命令行提示符下,运行链接命令会成功。我开始怀疑GNUmake。这曾经在make中工作,但我对makefile进行了一些添加和更改以使其在Linux上构建,这似乎引入了问题。我正在使用:GNUMake3.80MSVisualC++Linker10.00.40219.01在W

c++ - 相当于 gnu 中 windows stdint.h 的 u_int16_t?

到目前为止,我假设u_int16_t是一个名为stdint.h的MSVS头文件中某处的Windows类型。我正在使用GNUg++作为编译器(实际上是带有mingw的代码块),我想知道typedefunsignedshortuint_least16_t;(在mingw的stdint.h内)是否等效,或者我可以做些什么来包含它类型?这个问题实际上与编译googlesparsehash有关用于MSVS的项目文件,但我使用的是代码块。这是它给我的错误(顺便说一句,这个错误重复了很多次)。c:\programfiles\codeblocks\mingw\bin\..\lib\gcc\mingw3

windows - 如何在c99模式下编译?

我在windows平台上,有什么方法可以在c99模式下在命令行中编译程序,而不必在每个程序中键入-std=c99陈述?我当前的gcc版本是4.4.1。 最佳答案 gcc不提供通过例如环境变量指定命令行参数的方法。如果您想要-std=c99的效果,那么在某种程度上您将不得不使用该参数调用gcc命令。如果您从类Unix命令shell调用gcc,例如与Cygwin一起使用的命令shell,可能已经有一个c99命令。POSIX需要这样的命令(它将是gcc命令的包装器)。我目前没有安装Cygwin,所以我无法检查它。如果不存在,您可以定义一个

windows - Windows 下的 GNU Make : Check for cygwin in PATH

我一直在Windows环境中整理一个makefile供我的团队使用。我决定使用MinGW的makeforWindows版本。我将该可执行文件及其依赖项放入一个应该位于每个人的PATH变量中的存储库位置。为简单起见,可执行文件已重命名为“make.exe”。然后我意识到,当某人的路径中有cygwin的bin文件夹时,我必须考虑到这种情况。echo、rmdir和mkdir等命令将从cygwin的bin文件夹中调用echo.exe、rmdir.exe和mkdir.exe。这意味着我需要适本地捕捉这种情况并为每个命令使用不同的标志。我在这里看到三种情况:Cygwin的bin路径位于存储库中ma

windows - GNU Octave 4 GUI 无法在 Windows 10 上正常工作

GNUOctave4.0.0曾经在装有Windows7的索尼VAIO上运行良好。但是,在我升级到Windows10后,我根本无法启动GUI。(虽然文本/CLI模式仍然有效。)我也尝试了Octave4.0.1和4.0.2,但它们有同样的问题。以前有人遇到过类似的问题吗?有办法绕过它吗?非常感谢! 最佳答案 我设法找到了解决这个问题的方法。我会在这里分享,以防其他人也遇到它。在我单击octave-4.0.2.exe的“兼容性”选项卡下的“在高DPI设置上禁用显示缩放”复选框后,GUI成功打开。

windows - GNU sed - 查找或替换空格或新行。为什么这不起作用? v3.02 与 v4.2

C:\crp\cnp>sed-VGNUsedversion3.02Copyright(C)1998FreeSoftwareFoundation,Inc.......C:\crp\cnp>typef.faaaaaa尝试用空格替换'a'。C:\crp\cnp>typef.f|sed-es/a/\d032/gd032d032d032d032d032d032为什么它不起作用?我不介意我是在查找还是替换空格或换行。我只是想能够指定它们。它似乎不起作用,我也不知道为什么。(用f替换空格或空格不起作用)C:\crp\cnp>echoaa|seds/\d32/f/aa注意-它似乎可以在4.2中工作,但

windows - Gnu emacs 窗口标题默认

我在WindowsXP中使用Gnuemacs,默认窗口标题显示为“emacs@ACH1797VM2”而不是缓冲区标题,据我所知,这是我想要的,也是正确的默认行为。看完https://stackoverflow.com/a/2338352/1001165,我将以下行放在我的~/.emacs文件的末尾,但行为没有变化。(setqframe-title-format"%b-emacs")我可以用改变窗口标题M-xset-frame-nameNewNameRET但我希望它自动更改以匹配缓冲区名称。 最佳答案 我会说这条线是正确的。您可以将表