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

Не собирается проект, если main вынести в отдельный модуль - C++

Восстановить пароль Регистрация
 
maxsav
Сообщений: n/a
30.07.2013, 05:11     Не собирается проект, если main вынести в отдельный модуль #1
list.h

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef LISTCLASS_H
#define LISTCLASS_H
 
class list{
private:
int myValue;
list * myNext;
public:
list(int value);
void addValue (int value);
int length();
} ;
# endif
list.cpp

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
#include "list.h"
#include <stdio.h>
 
list::list(int value) 
{
myValue=value;
myNext=0;
}
 
void list::addValue (int value)
{
list *current=this;
while (current->myNext!=0)
{
current=current->myNext;
}
current->myNext=new list(value);
}
 
int list::length ()
{
int counter=0;
list *current=this;
for(list *current=this; current!=0; current=current->myNext) 
{
counter++;
}
return counter++;
 
}
 
 int main() 
{
   list mylist(5);
   mylist.addValue (6);
   mylist.addValue (7);
    mylist.addValue (8);
    mylist.addValue (9);
    int a;
    a=mylist.length();
    printf("В списке %d элементов \n", a);
     
    
    return 0;
   }
когда в проекте 2 файла list.h и list.cpp
все нормально, программа компилируется и собирается
но если функцию main вынести в отдельный файл

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* main.cpp*/
 
#include"list.h"
 
 int main() 
 {
    list mylist(5);
    mylist.addValue (6);
    mylist.addValue (7);
    mylist.addValue (8);
    mylist.addValue (9); 
    
    return 0;
 }
и

g++ -c list.cpp
g++ -c main.cpp
получается 2 объектных файла , то есть на стадии компиляции ошибок нет
и g++ -o list.o main.o

во тут начинаются ошибки на стадии линковки

/usr/lib/gcc/i486-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status

Что я делаю не правильно??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
30.07.2013, 09:49     Не собирается проект, если main вынести в отдельный модуль #2
попробуй создать makefile и в нём напиши:

list.o: list.cpp list.h
g++ -c list.cpp
main: main.cpp list.h list.o list.cpp
g++ -o main main.cpp list.o
VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,221
30.07.2013, 11:04     Не собирается проект, если main вынести в отдельный модуль #3
Я конечно не специалист, но разве 7-я строчка ( list * myNext; ) это не косяк?
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
30.07.2013, 11:17     Не собирается проект, если main вынести в отдельный модуль #4
VLK, а что смущает?
VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,221
30.07.2013, 11:19     Не собирается проект, если main вынести в отдельный модуль #5
Цитата Сообщение от 0x10 Посмотреть сообщение
VLK, а что смущает?
то, что это элемент класса, самого этого класса
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
30.07.2013, 11:21     Не собирается проект, если main вынести в отдельный модуль #6
VLK, Это указатель. Все ок.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2013, 11:21     Не собирается проект, если main вынести в отдельный модуль
Еще ссылки по теме:

Не получается вынести класс в отдельный файл C++
Как вынести структуру в отдельный файл C++
Вынести код создания списка в отдельный модуль C++

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

Или воспользуйтесь поиском по форуму:
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
30.07.2013, 11:21     Не собирается проект, если main вынести в отдельный модуль #7
VLK, объекта там быть не может, потому что класс не определен, а указатель - запросто.
Yandex
Объявления
30.07.2013, 11:21     Не собирается проект, если main вынести в отдельный модуль
Ответ Создать тему
Опции темы

Текущее время: 20:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru