2013-12-16 3 views
1

Привет, сообщество stackoverflow. Я пытался научить себя статическим и динамическим библиотекам в C. У меня проблема. Моя связь не работает вообще. Я сделал простую тестовую статическую библиотеку. Вот код для файла .c:C Static Library связывает проблемы с NetBeans

#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 в библиотеке в папку.

Затем я запускаю новый проект приложений C/C++ в NetBeans. Я нажимаю правой кнопкой мыши этот проект и нажимаю свойства. Затем я перехожу на вкладку «Сборка» и в этом вкладке «Линкера». Это та часть, с которой я сталкиваюсь. Независимо от того, что я связываю, NetBeans действует так, как будто я ничего не связывал. Я попытался связаться с «Дополнительные библиотечные каталоги» и «Библиотеки». Ничего не сработало. Я даже попытался вручную переупаковать файл, щелкнув правой кнопкой мыши проект, перейдя в меню меню помощи кодов и нажав «Повторить проект».

Любая помощь при выяснении того, что не так, будет оценена, спасибо.

ответ

0

Похоже, что я забыл связать библиотечный каталог под сборкой. Для этого я перешел к свойствам проекта, вкладке «Сборка» и вкладке «Компилятор С», а затем перешел в «Общие» и добавил свой библиотечный каталог «Включить каталоги и заголовки».

Смежные вопросы