Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 3

Как компоновать многофайловое приложение

05.05.2014, 21:23. Показов 830. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
В файле GradeBook.cpp ошибки:
[Linker error] undefined reference to `WinMain@16'
ld returned 1 exit status

В файле fir03_13.cpp ошибки:
[Linker error] undefined reference to `GradeBook::GradeBook(std::string)'
и т.д

В первом файле,нет main,во втором не описывается класс и функции.То есть один цельный код,поделили на 3 неполных.А как компилировать cpp файлы,если по правилам они не могут скомпилироваться?Как получить объектные файлы?И как после компоновать?Здесь все не вяжется между собой.Пользуюсь Dev-C++.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//GradeBook.h
#include <string>
using std::string;
 
class GradeBook
{
  public:
    GradeBook( string );
    void setCourseName( string );
    string getCourseName();
    void displayMessage();
  private:
    string courseName;  
};
 
 
 
//Программист реализации класса
//GradeBook.cpp
#include <iostream>
using std::cout;
using std::endl;
 
#include "GradeBook.h"
 
GradeBook::GradeBook( string name )
{
   setCourseName( name );
}
 
void GradeBook::setCourseName( string name )
{
   courseName = name;
}
 
string GradeBook::getCourseName()
{
   return courseName;
}
 
void GradeBook::displayMessage()
{
   cout << "Welcome to the grade book for\n" << getCourseName()
        << "!" << endl;
}
 
 
 
//Программист кода клиента
//fir03_13.cpp
#include <iostream>
using std::cout;
using std::endl;
 
#include "GradeBook.h"
 
int main()
{
    GradeBook gradeBook1("CS101 Introduction");
    GradeBook gradeBook2("CS101 Data");
    cout << " gradeBook1 created for:" << gradeBook1.getCourseName()
    << "\ngradeBook2 created for:" << gradeBook2.getCourseName()
    << endl; 
return 0;
}
заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2014, 21:23
Ответы с готовыми решениями:

Многофайловое приложение в CodeBlocks
задание состоит в том,что надо переделать программу через функции вот что получилось у меня что я делаю не так? файл main.cpp: ...

Класс Complex, многофайловое приложение
Начал изучать классы недавно. При решение задачи возникла ошибка, не могу понять в чем дело. Выдает ошибку (error 'Complex' was not...

Ошибка 19 error LNK2005. Многофайловое приложение
У меня возникает ошибка Ошибка 19 error LNK2005: &quot;void __cdecl set_0(double *,int)&quot; (?set_0@@YAXPANH@Z) уже определен в...

4
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
05.05.2014, 22:18
Добавьте оба файла в проект
0
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 3
07.05.2014, 02:40  [ТС]
Это очевидно и об этом я уже написал выше.Ваш ответ не полный.Спрашивал я,о компоновке.Автор именно подобные коды дает в книге.По отдельности они не компилируются...
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
07.05.2014, 02:46
Цитата Сообщение от -MastaK- Посмотреть сообщение
По отдельности они не компилируются...
Они компилируются, но не линкуются, потому что указываете только один файл.
1
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 3
08.05.2014, 00:54  [ТС]
Croessmah до этого я Вас не правильно понял...Вообщем теперь разобрался.Огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.05.2014, 00:54
Помогаю со студенческими работами здесь

Вычисление функции - сделать многофайловое приложение
function y(x,a:real):real; var t,w:real; begin t:=1-sqr(sin(x)); w:=a*a-x*x; y:=ln(sqrt((abs(t/w)))); end; var x,a:real; ...

Раздельная компиляция. Преобразовать код в многофайловое приложение
нужна помощь в преобразовании кода программы для разделенной трансляции (заголовочный код, код реализации класса и сам модифицированный код...

SharpDevelope - многофайловое приложение
Привет всем. Не могу разобраться как в SharpDevelope создать отдельный файл для интерфейса и класса.Помню в Visual Studio это делалось...

Создание приложение типа Messenger. Как правильно создать такое приложение?
Доброго времени суток. Вот мне нужно написать приложение типа Messenger на технологии WinForms или WPF. Кол-во пользователей неопределено....

Создание приложение типа Messenger. Как правильно создать такое приложение?
Доброго времени суток. Вот мне нужно написать приложение типа Messenger на технологии WinForms или WPF. Кол-во пользователей неопределено....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru