Сборка общей библиотеки с Eclipse CDT напрямую - PullRequest
0 голосов
/ 08 апреля 2011

Я хотел бы полностью переместить сборку моего проекта на C ++ в Eclipse CDT, однако я столкнулся с некоторыми проблемами конфигурации.Вот мой старый вызов компилятора g ++:

g++ -I/home/lib/tinyxml
    -I/usr/lib/jvm/java-6-openjdk/include
    -L/usr/local/lib -L/home/konrad/tinyxml
    -lboost_system
    -lboost_thread
    -lboost_regex 
    -fPIC
    -shared
    -o libagent.so
    agent.cpp AgentSocket.cpp ThreadInfo.cpp  
    /home/lib/tinyxml/tinyxml.cpp
    /home/lib/tinyxml/tinyxmlerror.cpp 
    /home/lib/tinyxml/tinyxmlparser.cpp
    /home/lib/tinyxml/tinystr.cpp 

При создании проекта я выбираю Shared Библиотека> Emtpy Project

Вот мои проблемы:

  1. Eclipse CDT генерирует make-файл определенным образом, сначала компилирует каждый файл .cpp, а затем перекомпилирует его в общую библиотеку.Это позволяет мне столкнуться с одной или несколькими проблемами.Я хотел бы перейти к этому шагу и выполнить его так же, как я делал в консоли.

  2. Я не могу настроить параметры -L и -l в конфигурации здания C ++, как Eclipse CDTпредлагает эти опции только для части связывания C ++, но не для части компилятора C ++, но они мне нужны уже там, так как проект не компилируется без ошибок.

1 Ответ

1 голос
/ 09 апреля 2011
  1. Это не проблема, но на самом деле, как обычно создаются make-файлы.Таким образом, если вы измените один исходный файл, вам не нужно перекомпилировать все остальные исходные файлы, а только тот, который изменился.Это минимизирует время перекомпиляции.
  2. Это не должно быть проблемой, потому что это опции, которые используются только во время компоновки.Компиляция исходных файлов в объектные файлы не должна зависеть от внешних библиотек.
...