我知道有很多这样的话题,但我找不到答案,真的。什么都没有用。
我正在编译文件
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
如果你帮助了我,我将非常感激,明天我必须交出这个项目。
答案 0 :(得分:1)
您需要阅读一些有关使用GCC的教程。
您可能想尝试使用
进行编译和链接gcc -std=c99 -Wall -g xx.c -L. -lmem
(假设您当前的目录 [不是文件夹],.
中的-L.
包含libmem.a
或libmem.so*
库
BTW,gcc
的程序参数顺序非常重要!