GCC编译器错误链接器命令失败

时间:2015-09-02 13:24:41

标签: c gcc linker-errors

我有以下C文件,我正在使用Mac OS X GCC编译器。 您会在下面找到错误。

$("#sortableList").sortable({ cancel: null });

这是我的Makefile:

#include "support.h"

#ifdef _WIN32

#include <conio.h>

void support_init() {
    // not needed
}

void support_clear() {
    system("CLS");
}

int support_readkey(int timeout_ms) {
    Sleep(timeout_ms);
    if (!kbhit()) return 0;
    return getch();
}

#else

#include <stdio.h>
#include <unistd.h>
#include <termios.h>
#include <sys/select.h>

void support_init() {
    struct termios tio;
    tcgetattr(STDIN_FILENO, &tio);
    tio.c_lflag &= (~ICANON & ~ECHO);
    tcsetattr(STDIN_FILENO, TCSANOW, &tio);
}

void support_clear() {
    printf("\x1B[2J\x1B[0;0f");
}

int support_readkey(int timeout_ms) {
    struct timeval tv = { 0L, timeout_ms * 1000L };
    fd_set fds;
    FD_ZERO(&fds);
    FD_SET(0, &fds);
    int r = select(1, &fds, NULL, NULL, &tv);
    if (!r) return 0;

    return getchar();
}

#endif

当我尝试使用命令“make all”进行编译时,我收到以下错误:

CFLAGS=-std=c11 -Wall -g
CC=clang

all: snake

.PHONY: all clean

snake: snake.o support.o

snake.o: snake.c support.h

clean:
    rm -f snake
    rm -f snake.o support.o

请帮忙。我是C的新手: - )

1 个答案:

答案 0 :(得分:0)

根据cflags shoule更新设置为-m32或-m64来检查架构, 要在64位机器上成功编译,必须设置为-m64。

CFLAGS + = -m64