gpt4 book ai didi

c++ - 无法在 Win7 上使用 MinGW 编译 RIES

转载 作者:太空宇宙 更新时间:2023-11-04 14:17:02 27 4
gpt4 key购买 nike

我正在尝试编译 this program在 Windows 7 上使用 MinGW。在我第一次尝试时,它给了我这个错误:

>gcc -o ries.exe ries.c -lm

ries.c:1582:21: fatal error: stdafx.h: No such file or directory
compilation terminated.

我在谷歌上搜索了一下,发现我应该删除 # include "stdafx.h" 行,我确实这样做了。

现在它给了我这个:

C:\Users\XXXXXX\AppData\Local\Temp\cczlkqve.o:ries.c:(.text+0xb9): undefined reference to `asprintf'
collect2: ld returned 1 exit status

Google 现在沉默了……接下来我该做什么?

提前致谢。

最佳答案

MinGW 使用(据我所知)Microsoft C 运行时库。我不认为asprintf或其中存在等效项-尽管这很奇怪,因为无论如何他都包含了Windows构建的stdafx.h,尽管不是特别有用的方式(AFAICS不能用于预编译的 header ,因为它在#if中)

最简单的解决方法是自己分配缓冲区,即更改

char * name_ext;
int nc;
nc = asprintf(&name_ext, "%s.ries", filename);

char name_ext[MAX_PATH];
int nc;
nc = snprintf(name_ext, MAX_PATH, "%s.ries", filename);

如果 MAX_PATH 没有定义(但我认为它会是:你已经有了 stdlib.h)那么要么自己定义它,要么只用数字 260 代替。

关于c++ - 无法在 Win7 上使用 MinGW 编译 RIES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10315571/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com