C 静态库与 NetBeans 的链接问题

标签 c netbeans static-libraries

你好 stackoverflow 社区。我一直在尝试自学 C 中的静态库和动态库。不过我遇到了一个问题。我的链接似乎根本不起作用。我做了一个简单的测试静态库。这是 .c 文件的代码:

#include <stdio.h>

void test(char * c)
{
    printf(c);
}

和 .h 文件:

#ifndef TEST_H
#define TEST_H

#ifdef  __cplusplus
extern "C" {
#endif




#ifdef  __cplusplus
}
#endif

extern void test(char * c);

#endif  /* TEST_H */

以下是我为产生问题所采取的步骤。

首先,我使用 NetBeans 构建这个静态库项目,它生成一个 .a 库(我使用 MinGW 进行编译)。

然后,我将 .a 文件以及库的 .h 文件复制到一个文件夹中。

然后我在 NetBeans 中启动一个新的 C/C++ 应用程序项目。我右键单击该项目,然后单击属性。然后转到“构建”选项卡,然后转到“链接器”选项卡。这是我遇到麻烦的部分。无论我链接什么,NetBeans 都好像我没有链接任何东西一样。我试过链接“附加图书馆目录”和“图书馆”。都没有工作。我什至尝试通过右键单击项目手动重新解析文件,转到代码帮助菜单选项,然后单击重新解析项目。

如果您能帮助找出问题所在,我们将不胜感激,谢谢。

最佳答案

看来我忘记链接build下的library目录了。为此,我转到项目属性、Build 选项卡和 C Compiler 选项卡,然后转到 General,并将我的库目录添加到“Include Directories and Headers”。

关于C 静态库与 NetBeans 的链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602738/

相关文章:

c - 在查找 2 个数字列表的平均值时,添加 for 循环会扰乱我的计算。有人有好的解决办法吗?

c - 执行全部代码后得到 "segmentation fault"

c - 使用 gcc,如何将库 (-lpthread) 包含到我自己的静态用户库中?

java - 无法为可执行 jar 配置日志记录

java - hibernate 错误

ios - 为什么我无法重建 zendesk_ios_sdk?

c++ - 链接标志对于静态库意味着什么?

c - 并排打印方阵旋转 C

CTRL+C 和 CTRL+Z 信号在 C 中不会被阻塞

java - 需要一点帮助,隐藏/禁用 jbutton