2012-03-25 2 views
3

Итак, работа над получением моей Eclipse IDE, чтобы я мог развить свой arduino uno в затмении. Мой C++ слабый, так что это, вероятно, ошибка в nube с моей стороны.C++; Ошибка компоновщика eclipse

У меня есть программа для мигания, которая ищет библиотеку arduino, которую я скомпилировал из библиотеки IDE arduino. Мой код указывает на файл заголовка, и мой код нахожу его в порядке; это означает, что я могу нажать на:

#include <arduino.h> 

и пойти посмотреть заголовок

это: "C: /programs/arduino-1.0/hardware/arduino/cores/328p_lib/libuno_library.a" является действительным путь ... но я получаю следующее сообщение об ошибке:

>****** Build of configuration Debug for project project1 **** 
>make all 
>Building target: project1.elf 
>Invoking: AVR C++ Linker 
>avr-g++ -Wl,-Map,project1.map,--cref -L"C:\programs\arduino->1.0\hardware\arduino\cores\328p_lib" -mmcu=atmega328p -o "project1.elf" ./code/code1.o >-l"C:/programs/arduino-1.0/hardware/arduino/cores/328p_lib/libuno_library.a" 
>c:/programs/winavr/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe: cannot find ->lC:/programs/arduino-1.0/hardware/arduino/cores/328p_lib/libuno_library.a 
>make: *** [project1.elf] Error 1 
>**** Build Finished ****** 

ответ

2

Ну после того, как мы потратили 2 дня или около того веселого времени, я, наконец, нашел проблему.

http://sourceforge.net/projects/avr-eclipse/forums/forum/664382/topic/4640554

При добавлении статической библиотеки линкера вы должны удалить Lib префикс и суффикс .a. не уверен, что это значит.

2

правой кнопкой мыши на проекте> Нажмите на C/C++ BUILD> Настройки> GCC C++ Linker> Библиотеки

Нажмите первый значок Add> Ad d имя библиотеки (без суффикса .a, суффикс будет добавлен автоматически)

Это обеспечит добавление библиотеки в проект.

Если библиотека является частью другого проекта> Перейти к GCC C Compiler> каталогов> Добавить каталог

Это гарантирует, что библиотека существует для получения компиляции сделана.

+0

Project> Build> Настройки -> AVR C++ от компилятора> Каталоги есть: "C: \ Программы \ Arduino-1.0 \ HARDWARE \ Arduino \ сердечники \ 328-импорта" & «C: \ Программы \ arduino- 1.0 \ hardware \ arduino \ cores \ 328p_lib " Также добавлен в c/C++ Общие сведения-> GNU C++ -> Включает и библиотеки содержит запись для libuno_library.a Без изменений об ошибке. – goinidias

+0

Я должен был быть более конкретным. Да, вы не должны добавлять суффикс .a, потому что суффикс обновляется автоматически. Рад, что вы смогли это разрешить. – vijayrk

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