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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
maxsav
Сообщений: n/a
#1

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

30.07.2013, 05:11. Просмотров 400. Ответов 6
Метки нет (Все метки)

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

Что я делаю не правильно??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2013, 05:11     Не собирается проект, если main вынести в отдельный модуль
Посмотрите здесь:

Раздельная компиляция: вынести вектор в отдельный модуль - C++
Всем привет! Лазил я в гугле и наткнулся на тему по раздельной компиляции. Там был пример, в отдельный модуль, выносились глобальные...

Нужно вынести часть программы в отдельный модуль - C++
Помогите вынести 19-36 строки в отдельный модуль, чтобы можно было потом как заголовочный файл .h его подключить #define...

Вынести код создания списка в отдельный модуль - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; struct A { int key; }; class List { public:

как вынести класс в отдельный файл? - C++
сделал простенький класс class cool { public: cool(); int ga(); int gb(); void sa(int _a);

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

Как вынести функцию с++ в отдельный файл - C++
Как вынести функцию в отдельный файл как в PHP например: Например есть функция int function(){ int a,b,c; a=3; b=5; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
30.07.2013, 11:04     Не собирается проект, если main вынести в отдельный модуль #3
Я конечно не специалист, но разве 7-я строчка ( list * myNext; ) это не косяк?
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,013
30.07.2013, 11:17     Не собирается проект, если main вынести в отдельный модуль #4
VLK, а что смущает?
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
30.07.2013, 11:19     Не собирается проект, если main вынести в отдельный модуль #5
Цитата Сообщение от 0x10 Посмотреть сообщение
VLK, а что смущает?
то, что это элемент класса, самого этого класса
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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++
bool CreateDisk(char *cmd) { char *dsk_name=GetParameter(cmd, &quot;name=&quot;); int fd; //|предупреждение: variable «fd» set but...

не собирается проект( - C++
Добрый день, столкнулся с проблемой, после добавления d3dx9.lib и d3d9.lib к проекту постоянно выскакивает ошибка: Fatal: Unable to open...

Не собирается проект с ресурсами - C++
Имею некий проект, который норм работает. надо было в него добавить ресурсы. Я их добавил, при сборке получаю fatal error LNK1123: failure...


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

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

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