gcc未定义对头函数的引用

时间:2014-03-25 17:36:42

标签: gcc undefined-reference

我知道有很多这样的话题,但我找不到答案,真的。什么都没有用。

我正在编译文件

gcc   -std=c99 -Lmem xx.c
文件中的

#include "include/memory.h"
#include <stdlib.h>


void main(){
    meminit(100);
}

并在memory.h中

#include "private.h"
#pragma once
MEMI * memdiag();

void meminit(int block_number);

void * memalloc(int desired_size);

void memfree(void * ptr);

该文件夹包含libmem.a和标题,但我收到错误

/tmp/ccSJ4trm.o: In function `main':
xx.c:(.text+0xa): undefined reference to `meminit'
collect2: error: ld returned 1 exit status

如果你帮助了我,我将非常感激,明天我必须交出这个项目。

1 个答案:

答案 0 :(得分:1)

您需要阅读一些有关使用GCC的教程。

您可能想尝试使用

进行编译和链接
gcc -std=c99 -Wall -g xx.c -L. -lmem

(假设您当前的目录 [不是文件夹],.中的-L.包含libmem.alibmem.so*

BTW,gcc的程序参数顺序非常重要!