Как правильно создать и подключить библиотеку в Eclipse?
Добрый день! Мучаю atmega8. Установлен AVR Eclipse Plugin. Пробовал два пути:
1. Создал проект AVR Cross Target Static Library (File — New — C Project) с названием LIB.
В нем создал LCD_lib.h и LCD_lib.c.
Пытаюсь подключить к другому проекту «библиотеку»:
Project — Properties — C/C++ General — Path and Symbols — Source Location — link folder — Link to folder in the file system, через Browse нашел папку LIB (в Workspace), в main.c прописал #include «LCD_lib.h». Итог — ошибка: No such file or directory
2. В Workspace создал папку #lib и скопировал в нее файлы LCD_lib.h и LCD_lib.c. Подключаю к проекту: Project — Properties — C/C++ General — Path and Symbols — includes — add, через Browse нашел папку #lib (в Workspace), в main.c прописал #include «LCD_lib.h». В папке includes проекта путь до папки как то появился (не сразу), и в main.c ошибки нет. Но теперь ошибка в makefile.
Помогите сделать правильно, на неправильно уже два вечера убил(
updt1: Вычитал, что библиотека это файл с расширением .a (путь 1). В моем случае получился файл libLCD_lib.a. Подключаю его к проекту: Project — Properties — C/C++ General — Path and Symbols — Librares. Получаю ошибку:
avr-gcc -Wl,-Map,DS1307+LCD_4bit.map -mmcu=atmega8 -o "DS1307+LCD_4bit.elf" ./main.o -l"/Users/chud0/Documents/workspace/LIB/Release/libLCD_lib.a" /usr/local/CrossPack-AVR-20131216/lib/gcc/avr/4.8.1/../../../../avr/bin/ld: cannot find -l/Users/chud0/Documents/workspace/LIB/Release/libLCD_lib.a
- Вопрос задан более трёх лет назад
- 7592 просмотра
Подключение библиотеки в Eclipse
Скомпилировал и установил архивы библиотеки в директорию /usr/local/lib/ . Вывод после sudo make install :
Install the project. -- Install configuration: "" -- Installing: /usr/local/lib/libcollectc.so -- Installing: /usr/local/lib/libcollectc.a
Но не могу понять как правильно теперь к архиву добраться с Eclipse. Пробовал указывать Lib path в properties но результата нет.
Отслеживать
задан 19 дек 2018 в 20:31
1,360 1 1 золотой знак 9 9 серебряных знаков 21 21 бронзовый знак
-L/usr/local/lib и -lcollect , там же вроде gcc или clang? вот в опциях и добавьте.
20 дек 2018 в 2:46
ну может код приведете чтобы хотя бы посмотреть какие проперти вы там добавили?
20 дек 2018 в 15:57
@AndrejLevkovitch, пробовал ‘-lcollect’ но безрезультатно. Архивы лежат на месте, все проверил.
20 дек 2018 в 16:15
@UjinUkr -lcollectc , во-первых, во-вторых, «без результатно» не бывает — всегда есть какие-то ошибки. в-третьих, с эклипсом не работал, но свойство должно называться link flags , link libraries или ещё как-то так, а Lib path скорей всего предназначен для -L -флагов.
20 дек 2018 в 17:34
@Fat-Zer, сделал по другому, указал путь в директорию через проводник, но include все ровно файлы не видит.
Eclipse подключение библиотек

Отображение библиотек в Eclipse
Здравствуйте. Такая проблема с эклипсам. Когда нажимаю Ctrl+класс, то почему-то если этот класс.
Eclipse Компиляция без библиотек, возможно ли?
Декомпилировал .jar программкой fernflower. На качество декомпиляции не жалуюсь. После этого.
Включение сторонних библиотек в .jar eclipse
Создал простенький проект в maven, в pom.xml указал зависимости. Запускаю проект, нажав на "Maven.
Подключение библиотек (Intellij Idea)
Скачал проект (мини-игра), открыл его через Intellij — все работает. Начал разбираться что да как.
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
Так все же окей. В библиотеке содержаться .class файлы а не .java. Чтобы увидить «код» надо скачать плагин для еклиспы, чтобы байт код переделывала. По факту, библиотеки подключены к проекту.
Регистрация: 15.10.2015
Сообщений: 59
Не совсем, пытаюсь создать новый класс Workbook из подключенной библиотеки и получаю
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
А переменная где? + У вас не конструктор.
Workbook = new Workbook;
Значение же надо присваивать к какой-то переменной, например,
Workbook workbook = new Workbook();
Вы вообще с программированием знакомы?
Регистрация: 15.10.2015
Сообщений: 59
Сообщение от Doctor_ 
А переменная где? + У вас не конструктор.
Java(TM) 2 Platform Standard Edition 5.0
Выделить код
1
Workbook = new Workbook;
Значение же надо присваивать к какой-то переменной, например,
Java(TM) 2 Platform Standard Edition 5.0
Выделить код
1
Workbook workbook = new Workbook();
Вы вообще с программированием знакомы?
Замечание верное, не корректно вопрос сформулировал.
В уроке видно, что автор не парится с импортом классов и методов.
пишет Workbook и Eclipse сам предлагает импортировать необходимые класс.
дальше он создает переменную wb и присваиевает новый метод HSSFWorkbook(); который снова предлагает выбрать из множества методов библиотеки среда Eclipse.
Для меня подобные мелочи, как для начинающего имеют большое значение.
Подключение библиотек в Java

Библиотека — готовый набор классов и компонентов, который встраивают в программу, чтобы реализовать некий функционал. Например, в тысячах казуальных игр музыку можно проигрывать одним и тем же способом. Чтобы не тратить время на работу со звуком, программисту достаточно подключить подходящую библиотеку.
Подключение Джава-библиотек в Eclipse
Если вы пользуетесь средой разработки Eclipse, подключение библиотек в Java займёт у вас меньше минуты:
- Разворачиваем дерево проекта в Package Explorer и находим папку libs. Если её нет — создаем.
- Кладем нужный .jar в libs.
- В появившемся окне выбираем «копирование файлов» (copy files) и жмём OK.
- Обновляем проект: правый клик — «Refresh».
Классы подключены и готовы к вызову из нашей программы.
Подключение библиотек Java в Maven и Apache-Ant
Минус подключения библиотек через IDE в том, что для пересборки проекта на другой машине нужна та же среда. Чтобы не зависеть от среды, используют системы сборки Maven и Ant.
Чтобы «прикрутить» библиотеку к проекту Maven, нужно указать её среди зависимостей в файле pom.xml. С библиотекой может подтянуться еще несколько зависимостей, которые подключаются к этой библиотеке. В случае с jar этого не происходит.
Как будет выглядеть наш pom.xml:
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 ru.team.project test-app 1.0 dependency> Допустим, нам нужна Javassist для редактирования байткода. ----> org.javassist javassist 3.21.0-GA
Теперь при компиляции проекта библиотека войдет в конечный .jar-файл.
В Ant принцип схожий, но редактировать нужно файл build.xml. Путь к подключаемым библиотекам пишут с помощью тегов и . Сначала объясняем, где искать библиотеку:
"lib.dir" value="lib"/> />
И далее передаём этот адрес тегу :
”my.classpath”/>
Как подключить Java-библиотеку вручную
Ваша IDE умеет подключать библиотеки, но как она это делает? Давайте посмотрим, что происходит на уровне файлов. Если библиотека написана на Джаве, её компоненты хранятся либо в архиве .jar, либо в исходниках .java. Более сложный вариант с интеграцией библиотек на C++ пока рассматривать не будем.
Подключение jar-библиотек в Java
Если на компьютере только одна версия Джавы — всё просто. Чтобы подключить .jar, достаточно положить его в папку lib директории Java на жестком диске. Виртуальная машина при ближайшем запуске сама возьмет код из библиотеки.
Когда вы используете одновременно несколько версий Java-машины, раскладывать файлы библиотек для каждой из них утомительно. Лучше указать путь к нужным классам с помощью ключа -classpath.
Открываем терминал и пишем:
java -classpath ./classes ru.аuthor.libname.Main
ru.аuthor.libname.Main — наша библиотека
Точкой перед «/» отмечают текущую директорию.
Можно перечислить несколько библиотек, код из которых компилятор соберет в порядке их перечисления:
java -classpath ./classes;./lib/l1-0.1.jar;./lib/l2-1.5.jar ru. аuthor.libname.Main
Теперь вы умеете подключать библиотеки даже в нестандартной ситуации: когда не установлена IDE или нужно скорректировать очередность подключения.