Как подключить библиотеку в eclipse
Перейти к содержимому

Как подключить библиотеку в eclipse

  • автор:

Как правильно создать и подключить библиотеку в 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
2015_01_16_23_01_49_800.jpg
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.
Skrynshot_2015_01_16_23_17_14_800.jpg
Помогите сделать правильно, на неправильно уже два вечера убил(

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 или нужно скорректировать очередность подключения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *