构建文件:“无目标”在“无项目”中(编译器:未知)

发布于 2025-01-10 16:04:13 字数 928 浏览 0 评论 0原文

我用c/c++写了一段代码。更正所有错误后,我尝试编译并构建它,并收到以下错误日志:

-------------- Build file: "no target" in "no project" (compiler: unknown)---------------

gcc -std=c11  -c /sysroot/home/arij/tryvache.c -o /sysroot/home/arij/tryvache.o
gcc  -o /sysroot/home/arij/tryvache /sysroot/home/arij/tryvache.o   
/usr/lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld : /sysroot/home/arij/tryvache.o : dans la fonction « vache » :
tryvache.c:(.text+0x130) : référence indéfinie vers « pow »
/usr/lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld : tryvache.c:(.text+0x1f7) : référence indéfinie vers « pow »
collect2: erreur: ld a retourné le statut de sortie 1
      Process terminated with status 1 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
 

这里出了什么问题?

I wrote a code in c/c++. After correcting all the errors, I tried to compile and build it and I get this error log:

-------------- Build file: "no target" in "no project" (compiler: unknown)---------------

gcc -std=c11  -c /sysroot/home/arij/tryvache.c -o /sysroot/home/arij/tryvache.o
gcc  -o /sysroot/home/arij/tryvache /sysroot/home/arij/tryvache.o   
/usr/lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld : /sysroot/home/arij/tryvache.o : dans la fonction « vache » :
tryvache.c:(.text+0x130) : référence indéfinie vers « pow »
/usr/lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld : tryvache.c:(.text+0x1f7) : référence indéfinie vers « pow »
collect2: erreur: ld a retourné le statut de sortie 1
      Process terminated with status 1 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
 

What is wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

锦爱 2025-01-17 16:04:13

查看您在OP中发布的错误消息,我认为它会转换为

tryvache.c:(.text+0x130) : Undefined reference to 'pow' 

tryvache.c 中使用,

您必须使用标志 -lm 来编译代码,该标志指示您的编译器( gcc) 与包含 pow() 函数的数学库链接。

如果您自己编写了 makefile,那么您只需按照上面注释中的说明添加 -lm 即可。如果您使用的是像 eclipse 这样的 IDE,那么您必须仔细检查编译器选项和/或构建设置,以找到需要添加链接器标志(例如 -lm)的正确部分。

在 Eclipse IDE 上,这些通常位于 GCC C Linker > C/C++ 构建设置下的库。

旁注:如果您用英语设置工具链会更好,如果没有,至少为试图解决您问题的人翻译错误。

Looking at the error message you have posted in the OP, I think it translates to

tryvache.c:(.text+0x130) : Undefined reference to 'pow' 

used in tryvache.c

You must compile the code with flag -lm which instructs your compiler (gcc) to link with math library which contains pow() function.

If you have written the makefile all by yourself then you can simply add -lm as instructed in the comment above. If you are using an IDE like eclipse, then you will have to go though compiler options and/or build settings to find a correct section where the linker flags (such as -lm) needs to be added.

On eclipse IDE these are usually at GCC C Linker > libraries under the C/C++ Build settings.

Side note: It will be better if you setup your toolchain in English, if not, at least translate the errors for the people trying to solve your problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文