gpt4 book ai didi

c - 如何将动态链接转换为静态链接

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:50 25 4
gpt4 key购买 nike

我有一个使用 libevent 库的程序

编译程序时,编译命令如下:

 gcc -o myprogram mysource.c mysource.h -levent 

所以是动态链接。

现在我想在没有libevent的电脑上运行这个程序,我需要静态链接以便我的程序可以在那台计算机上运行,有什么简单的步骤吗?

我尝试了 -static,但我得到了以下错误:

    [root@kitty relay]# gcc  -o relay -static mysource.c mysource.h -levent -lpcap
/usr/bin/ld: cannot find -lpcap
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status

为什么?

最佳答案

你应该有 libevent.a。然后你可以 gcc -o myprogram mysource.c libevent.a

或者试试 gcc -o myprogram -static mysource.c -levent

(您可能不应该将 mysource.h 指定给 gcc,因为它很可能包含在 mysource.c 中,带有 #include "mysource.h"。)

关于c - 如何将动态链接转换为静态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17112002/

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