Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2020, 21:33   #1
tarstar
Пользователь
 
Регистрация: 18.11.2017
Сообщений: 18
По умолчанию Ошибка при компоновке нескольких файлов

Не получается скомпоновать несколько файлов .cpp в компиляторе GCC. По отдельно компилируются в файлы с расширением .o, но не запускаются. выдает такую ошибку:
main.o:main.cpp: (.text+0x15): undefined reference to `MyClass::myFunc()'
collect2.exe: error: ld returned 1 exit status
Подскажите, пожалуйста, в чем может быть проблема?

Код:
myClass.cpp
#ifndef MYCLASS_H_
#define MYCLASS_H_

class MyClass
{
public:
	void myFunc();
};

#endif 


myClass.cpp
#include "myClass.h"
#include <iostream>

void myFunc()
{
	std::cout << "Func is avalible" << std::endl;	
}


main.cpp
#include "myClass.h"
#include <iostream>

int main ()
{
	MyClass a;
	a.myFunc();
	return 0;
}

Последний раз редактировалось tarstar; 19.04.2020 в 21:38.
tarstar вне форума Ответить с цитированием
Старый 19.04.2020, 22:08   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

А что писано в файлах с расширением *.o, если к примеру открыть текст-редактором?
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 20.04.2020, 06:32   #3
tarstar
Пользователь
 
Регистрация: 18.11.2017
Сообщений: 18
По умолчанию

Машинный код)
tarstar вне форума Ответить с цитированием
Старый 20.04.2020, 16:22   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от tarstar Посмотреть сообщение
main.o:main.cpp: (.text+0x15): undefined reference to `MyClass::myFunc()'
У Вас в коде стоит
Код:
void myFunc() 
{
//....
}
а должно быть
Код:
void MyClass::myFunc() 
{
//....
}
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа из нескольких файлов tolikprankster Помощь студентам 5 27.09.2014 00:53
Объединения нескольких файлов lioon Microsoft Office Excel 6 01.11.2013 07:27
Библиотека ftd2xx.lib. Ошибка LNK2019 при компоновке NBS Помощь студентам 0 09.03.2012 15:35
Отправка нескольких файлов на FTP AnKor94 Общие вопросы Delphi 1 04.04.2010 00:09
Слияние нескольких wav файлов lacost Мультимедиа в Delphi 1 30.09.2008 19:25