加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C中架构x86_64的未定义符号

发布时间:2020-12-16 09:59:13 所属栏目:百科 来源:网络整理
导读:今天我为C安装了Allegro游戏编程库,我试图包含其中一个头文件但是当我尝试在终端中执行 gcc -I./include example.c -o a.exe时,我继续获取这个错误: Undefined symbols for architecture x86_64: "_main",referenced from: implicit entry/start for main e
今天我为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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读