Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Многофайловые программы


Автор: FantomaS19 16.8.2007, 16:21
Как создать многофайловую программу в Microsoft Visual C++ 6.0 ? 
Первый файл должен быть заголовочный,
Второй- описание всех функций,
Третий- с main().
Написал 1 файл (*.h) , положил  в папку со вторым файлом, написал там 
#include "*.h"
И выдал мне две ошибки:

--------------------Configuration: golf - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/golf.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

golf.exe - 2 error(s), 0 warning(s)
  
Че делать? smile 

Автор: bsa 16.8.2007, 17:56
Проект должен состоять из 3-х файлов. И main() должен быть. В частности, у тебя линковщик ругнулся на отсутствие реализации main().

Автор: FantomaS19 16.8.2007, 18:01
Так надо в main подключать и *.h (заголовок) и *.cpp(описания функций)
а в *.cpp подключать *.h
Я правильно понял?

Автор: zkv 16.8.2007, 18:41
Цитата(FantomaS19 @  16.8.2007,  18:01 Найти цитируемый пост)
Я правильно понял? 

нет, подключаются всегда только хидеры:
Код

//my.h
#ifndef __MY_H
#define __MY_H

int MyFunc();
...
#endif //__MY_H

//my.cpp
#include "my.h"
int MyFunc()
{
  return 0;
}
...

//main.cpp
#include "my.h"
int main()
{
  return MyFunc();
}

Автор: jonie 16.8.2007, 19:16
Цитата

нет, подключаются всегда только хидеры:
необяз. 
Код

//file1.cpp
int foo(){}

//file2.cpp
#include "file1.cpp"
int main() {
 foo();
 return true;
}

Автор: bsa 16.8.2007, 19:23
jonie, не путай человека. А то он будет, как я в детстве, все файлы проекта инклюдить в один.

Автор: zkv 16.8.2007, 19:23
Цитата(jonie @  16.8.2007,  19:16 Найти цитируемый пост)
необяз. 

я конечно не спорю, что физически это сделать можно, только криво это.
Хотя может я о чем-то не знаю? 
Есть пример, где подключение cpp-файла целесообразно?

Автор: jonie 16.8.2007, 19:30
компилирование в 1 obj разве что...наверно...

Автор: bsa 16.8.2007, 20:48
jonie, а разве это кому-то может понадобиться?!?  smile 

Автор: Dronchik 17.8.2007, 07:33
Тем, кто не хочет разбираться с несколькими obj. Всё закинул в один, и гемороиться потом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)