2010-06-08 1 views
1

Я использую CodeSorcery рычажного EABI-GCC цепи инструмента и у меня есть проблема с использованием л.д. отдельно от НКУПолучить ссылку по умолчанию конфигурации GCC использует при вызове компоновщика

я могу скомпилировать свою простую программу и связать его, если я позволю gcc позвонить ld.

Это работает не проблема

g++ test.cpp; # Works 

Это не работает из-за отсутствия символов

g++ -c test.cpp 

ld -o test crti.o crtbegin.o test.o crtend.o crtn.o -lgcc -lc -lstdc++; # Fails 

Примечание Я добавляю ССАГПЗ библиотеки к ld команды

Что мне не хватает?

Также, если есть лучший способ настроить ld на использование связи по умолчанию gcc?

+0

Вы можете аннулировать использование файлов спецификаций: http://stackoverflow.com/a/7505529/895245 –

ответ

3

Самый простой способ иметь GCC/G ++ вбить отдельную ссылку:

g++ -c test.cpp  # compile 
g++ -o test test.o # separate link 

Если вам нужно передать параметры компоновщика, вы можете использовать -Wl:

g++ -o test test.o -Wl,-somelinkeroption,arg 
3

@R Samuel Klatchko имеет лучший совет, но если вы действительно хотите увидеть, что gcc/g ++ связывает в использовании -vverbose option.

Он отображает полные пути к каталогам, используемые для поиска файлов заголовков и библиотек, предопределенных символов препроцессора и объектных файлов и библиотек, используемых для связывания.

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

  • Нет связанных вопросов^_^