gpt4 book ai didi

c - C 中体系结构 x86_64 的 undefined symbol

转载 作者:太空狗 更新时间:2023-10-29 16:01:15 26 4
gpt4 key购买 nike

今天我为 C 安装了 Allegro 游戏编程库,我试图包含其中一个头文件,但是当我尝试执行 gcc -I./include example.c -o a.exe 在终端中,我不断收到此错误:

Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
(maybe you meant: __al_mangled_main)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

有什么想法吗?我使用此处的说明安装了 Allegro 5:https://wiki.allegro.cc/index.php?title=Install_Allegro5_From_GIT/OSX

example.c 代码:

#include <stdio.h>
#include <allegro5/allegro.h>

int main(int argc, const char *argv[]){
puts(“Hello, world!”);
return 0;
}

最佳答案

You need to link your executable to Allegro .

根据 FAQ,您应该将 -lallegro 添加到您的编译命令,或者在 OSX 上添加 -lallegro -lallegro_main

您可能需要其他标志,并且 Allegro 5 使用 pkg-config 而不是 allegro-config,因此请执行 pkg-config allegro-5.0 allegro_main-5.0 --cflags --libs 以找出答案。

您可以使用反引号将其组合到编译器命令中,例如

$CC -W -Wall `pkg-config allegro-5.0 allegro_main-5.0 --cflags --libs` foo.c -o foo.exe

关于c - C 中体系结构 x86_64 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32641673/

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