Hello 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 ++应用程序项目。我右键单击此项目,然后单击属性。然后我转到Build选项卡,在其中,链接器选项卡。这是我遇到麻烦的部分。无论我链接什么,NetBeans就好像我没有链接任何东西。我尝试过连接“附加库目录”和“库”。两者都没有奏效。我甚至尝试通过右键单击项目,转到代码辅助菜单选项,然后单击重新分析项目来手动重新分析文件。
任何有关弄清楚错误的帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
似乎我忘了链接构建下的库目录。为此,我转到项目属性,Build选项卡和C Compiler选项卡,然后转到General,并将我的库目录添加到“Include Directories and Headers”。