Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
mas
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 5
#1

Проблемы с линковкой - C++

16.04.2009, 16:53. Просмотров 709. Ответов 1
Метки нет (Все метки)

Возникла проблема. Нашел на другом форуме точную формулировку своей проблемы. Решение той проблемы не описано. Прошу помочь:

Hi All,
I've built the arm-elf tool chain with the following
gcc 3.0.2 release
binutil 2.11.92.0.7
newlib-1.9.0

When I build the following C++ program I get undefined reference to
_gxx_personality_sj0

file t.hpp

Код C++1234567class foo{public:foo(void);~foo(void);void test(void);}


file t.cpp

Код C++1234567#include "t.hpp"foo::foo(void){;}foo::~foo(void){;}void foo::test(void){;}


file tt.cpp

Код C++1234567#include "t.hpp"int main(void){foo k;while(1) k.test();}


If all the files listed are place in the same source file I don't get the
undefined reference to _gxx_personality_sj0.
Any suggestions?
Добавлено через 10 минут 14 секунд
мой маке файл:
Код
TRGT = arm-elf-
CPP = $(TRGT)g++
CC = $(TRGT)gcc
LD = $(TRGT)ld
AS = $(TRGT)as
OC = $(TRGT)objcopy
SZ = $(TRGT)size
 
MCU = arm7tdmi
PROJECT = mit
 
LDSCRIPT = AT91SAM7S64-ROM.ld
source_dirs = source
out_dir = out
 
#флаги g++
CPPFLAGS = -c -fexpensive-optimizations -O3
#флаги gcc
CCFLAGS = -c -MD -O0
#флаги as
ASFLAGS = -Wa -amhls=$(out_dir)/$(notdir $(<:.s=.lst)) -ahls -mapcs-32
#флаги ld
LDFLAGS = -Wl,-T$(LDSCRIPT),-Map=$(out_dir)/$(PROJECT).map,--cref,-lstdc++,-lsupc++
LDFLAGS2= -mcpu=$(MCU) -nostartfiles -T$(LDSCRIPT) -Wl,--no-warn-mismatch
 
#флаги objcopy
OCFLAGS = --output-target=binary
 
 
search_wildcards := $(addsuffix /*.s,$(source_dirs)) $(addsuffix /*.cpp,$(source_dirs)) $(addsuffix /*.c,$(source_dirs)) 
VPATH := $(source_dirs)
OBJECTS = $(addprefix $(out_dir)/, $(notdir $(patsubst %.c,%.o, $(patsubst %.cpp,%.o, $(patsubst %.s,%.o, $(wildcard $(search_wildcards)))))))
 
 
all: clean binutilsversions $(PROJECT) $(out_dir)/$(PROJECT).elf size
 
.PHONY: clean
 
clean:
    rm -f $(addprefix $(out_dir)/, *.d *.o *.lst *.map *.out *.bin)
 
binutilsversions: 
    @echo ===================================================================
    @$(CPP) --version
    @echo ===================================================================
    @$(CC) --version
    @echo ===================================================================
    @$(AS) --version
    @echo ===================================================================
    @$(LD) --version
    @echo ===================================================================
    @echo    
 
$(out_dir)/$(PROJECT).elf: $(OBJECTS)
    $(CC) $(OBJECTS) $(LDFLAGS2) -o $@
 
$(PROJECT): $(out_dir)/$(PROJECT).out
    $(OC) $(OCFLAGS) $< $(out_dir)/$(PROJECT).bin    
 
#линковка
$(out_dir)/$(PROJECT).out: $(OBJECTS)
    $(CC) $(LDFLAGS) $^ -o $@
#$(LD) $(LDFLAGS) $^ -o $@
 
#компиляция
$(addprefix $(out_dir)/,%.o): %.c
    $(CC) $(CCFLAGS) $< -o $@
 
$(addprefix $(out_dir)/,%.o): %.cpp
    $(CPP) $(CPPFLAGS) $< -o $@
 
#асемблирование
$(addprefix $(out_dir)/,%.o): %.s
    $(AS) $(ASFLAGS) $< -o $@
 
size: $(out_dir)/$(PROJECT).out
    $(SZ) $<
 
include $(wildcard *.d)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2009, 16:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблемы с линковкой (C++):

Проблемы со списком - C++
Никак не получается разобраться со списками. В программе вроде создаю простейший список из 2х элементов. Далее в цикле вывожу это все....

Проблемы с задачей - C++
Я учусь на С++, и вот как бы понять, как именно эту зачаду решать в С++ 1. Реализовать классы с рисунка. У класса Car создать метод...

Проблемы с созданным ярлыком - C++
Доброго времени суток! Создаю ярлык в папку автозагрузки ниже указанным способом. При открытии ярлыка данный код не открывает файл. файл...

Проблемы с циклом for - C++ Builder
Добро времени суток. В мемо заношу имена. Процедура возвращает места проживания людей. Не могу разобраться почему проверяется только...

Проблемы с Windows 7 - C++ Builder
подскажите что это за ошибка в windows XP все работает, а в windows 7 вылазиет такая ошибка как можно с ней бороться я в...

Проблемы с условием - C++ Builder
void read(char*fname,AnsiString *st,int i) { TStringList *List = new TStringList; AnsiString SFile = fname; ...

1
Шерсть-На-Носу
41 / 41 / 1
Регистрация: 30.01.2009
Сообщений: 168
21.04.2009, 10:34 #2
После закрывающей класс фигурной скобки должна стоять точка с запятой.
Код
class foo
{
public:
foo(void);
~foo(void);
void test(void);
}; // !!!!!!!!!!!!!!!!!!!!!!!!!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2009, 10:34
Привет! Вот еще темы с ответами:

Проблемы с массивами в С - C++ Builder
Вопрос такой - Я работаю в ТС под ДОС, у меня есть 2-мерный float массив AI, мне нужно в него записать 2х20000 значений, но когда я ставлю...

Проблемы с калькулятором - C++ Builder
Доброго времени суток. Занимаюсь разработкой простейшего калькулятора, помогите пожалуйста решить 2 проблемы: 1.Добавил символ запятой,...

Проблемы с WriteFile - C++ Builder
Надо открыть/создать файл, и всё время записывать туда какуюто информацию, и делать это всё на WinApi. Делаю так: при инициализации...

проблемы с линковкой - C++
Возникла проблема. Нашел на другом форуме точную формулировку своей проблемы. Решение той проблемы не описано. Прошу помочь:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru