Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Програмирование платформенно-независимых систем > Eclipse
Перезагрузить страницу Eclipse CDT и статические библиотеки
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Tremr Tremr вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.06.2004
По умолчанию 20.07.2010, 14:30

Снимаюсь с Visual Studio
Перешел на следующую схему: Eclipse for C++/MinGW/FLTK.
(FLTK это такая фигня вроде Qt только без плагина под Eclipse).

По этой ссылке нашел хороший гайд, как прикрутить FLTK к Eclipse: http://bsdwarrior.serveblog.net/wiki/index...clipse_%2B_FLTK
Все работает, но остались вопросы. Кроме того, если далать все по этому гайду, то для работы exe-шника требуется fltk-шная dll, а в VisualStudio использовалась lib (линковалась статически).

Вообще, подозреваю что проблема моя в слабом знании nix`ов. Но может найдется добрый самаритянин, который объяснит мне логику действий описанных в гайде? Конкретно, мне непонятно, почему в свойствах проекта имя библиотеки fltk указывается как fltk.dll? Хотя такого файла не существует (есть пять других dll, одна из которых требуется для работы exe, а её имя нигде в проекте не прописывается(?)).

Есть ли в Eclipse другой способ линковки? Как в нём линковать статические библиотеки? Линковать-то рано или поздно точно придётся.

И ещё один вопрос. Нормально ли использовать в проекте, компилируемом MinGW, библиотеки скомпиленные другими компиляторами (тем же Visual C++)?
Ответить с цитированием
  (#2 (permalink)) Старый
Tremr Tremr вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.06.2004
По умолчанию 31.07.2010, 14:41

После долгих мучений решил проблему.
Распишу здесь что да как, может кому пригодится.

1. MinGW воспринимает библиотеки только линуксоидные, с форматом имен lib<имя>.a. И в Eclipse надо указывать имя, а префикс lib и расширение .а будут добавлены автоматически.

2. В том гайде, на который я давал ссылку, использовалася shared библиотека. Это примерно как dll-ка в Windows. Скомпилировав fltk без опции --enable-shared, я получил статическую библиотеку libfltk.a. Эта библиотека нормально линкуется.

3. Не знаю точно, почему в случае shared библиотеки не потребовалось подключать никаких других библиотек. Наверно они берутся из системы динамически. А вот в случае статической линковки все необходимые виндовские библиотеки (comctl32, user32 и т. д.) надо прописывать в настройках линкера. В MinGW есть все эти библиотеки в его родном формате, так что надо просто прописать имена без расширений.

В общем, все в итоге довольно просто. Но докопаться до истины долго не получалось.
Спасибо мне за помощь.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ветвление в Eclipse и CVS Ikshot Eclipse 0 30.09.2009 12:42
ООП VIP6/7. Динамические и статические сущности VictorY Prolog 26 24.05.2009 22:28
Правильное подключение *.h и *.cpp модулей в с++ и статические переменные monday С/С++ 3 21.04.2008 19:51
Програмирование на С++ в eclipse DSD Eclipse 10 04.03.2008 00:09
Eclipse IDE не запускается a_dergachev Eclipse 9 26.01.2008 01:50
Подключение библиотеки glut и объектной библиотеки .obj или .lib imported_evgenyan C++ Builder 6 14.10.2007 13:47
Вопрос про статические методы класса kodjan С/С++ 5 14.04.2006 00:06
CDT для eclipse как подключить DSD Eclipse 1 24.08.2005 07:42
Eclipse 3.0, UMLet и JRE 1.5 _Stas Eclipse 1 21.02.2005 19:20
Плагины для Eclipse Egor Eclipse 6 12.10.2004 00:05



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов