gpt4 book ai didi

c++ - 使用 gcc 在 c 中创建静态库时出现 "file not found "错误 - linux

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:22 26 4
gpt4 key购买 nike

我有一个文件hello.c

#include<stdio.h>

void hello()
{
printf("Hello!\n");
}

头文件 hello.h

#ifndef _hello_
#define _hello_

void hello();

#endif

主程序

#include<stdio.h>
#include "hello.h"

int main()
{

hello();
return 0;
}

我目前在文件夹/home/user/name/programs

我正在尝试构建一个静态库 mylib.a。这是我构建它的方法

1. gcc -c hello.c 
2. ar rcs mylib.a hello.o
3. gcc -static main.c -L/home/user/name.programs -lib -o hello

我得到以下错误

/usr/bin/ld: cannot find -lib
collect2: ld returned 1 exit status

我的问题是

`1. why is gcc searching for the file in the folder /usr/bin - I understand this is   
what is happening ?
2. How do I fix this?`

最佳答案

将库名称更改为以 lib 开头

ar rcs libmy.a hello.o
^^^^^^^
gcc -static main.c -L/home/user/name.programs -lmy -o hello
^^^^^

并且它不在 /usr/bin 中搜索,。错误由驻留在 /usr/bin 中的 linker (ld) 拆分。

关于c++ - 使用 gcc 在 c 中创建静态库时出现 "file not found "错误 - linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3939531/

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