GCC 中的库连接

Posted

技术标签:

【中文标题】GCC 中的库连接【英文标题】:Library connection in GCC 【发布时间】:2019-04-18 05:38:43 【问题描述】:

我有 4 个文件:

main.cpp emcd.h EMCB.dll EMCB.lib

我想使用 dll 中的函数。 代码不多,但抓住了精髓。

#pragma comment(lib,"EMCB.lib")

#include "emcb.h"

int main()

    EMCBLibInitialize(); //DLL function

为了编译,我使用 gcc 并使用以下命令进行编译

gcc main.cpp -l: EMCB.lib

之后我得到一个错误

/usr/bin/ld: 找不到 -l:EMCB.lib

collect2: 错误:ld 返回 1 个退出状态

【问题讨论】:

【参考方案1】:

预处理器语句:

#pragma comment(lib,"xxx.lib")

GCC 编译器无法识别。你需要使用-l

【讨论】:

所以我使用了这个标志,但是即使它在同一个文件夹中,它也找不到 * .lib。

以上是关于GCC 中的库连接的主要内容,如果未能解决你的问题,请参考以下文章

GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名

Linux下gcc生成和使用静态库和动态库详解

使用与使用不同 gcc 版本编译的库不同的 gcc 编译应用程序

是否可以使用 gcc 构建一个自包含的库(即静态合并其依赖项的库)?

使用 GCC 链接具有重复类名的库

链接使用不同版本的 gcc 编译的库