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

Ошибка при создании заголовочного файла - C++

Восстановить пароль Регистрация
 
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
15.04.2013, 15:00     Ошибка при создании заголовочного файла #1
Добрый день. Недавно решил создать свой заголовочный файл, однако при компилятор выдает мне ошибку undefined symbol _main in module c0.ASM . при добавлении функции маин, компилируется отлично, и создается файл header.h, но насколько я знаю, в заголовочном файле функция маин должна отсутствовать, помогите решить данную проблему. Заранее спасибо.
p.s. компилятор turbo c++ 1.0
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
15.04.2013, 15:06     Ошибка при создании заголовочного файла #2
p.s. компилятор turbo c++ 1.0
lolwhat???
где вы его откопали?
посвежее нельзя взять?

в заголовочном файле функция маин должна отсутствовать
ничего она не должна никому

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

создайте cpp, там сделайте инклуд вашего h-файла и реализацию main и уже cpp компилируйте
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
15.04.2013, 15:22  [ТС]     Ошибка при создании заголовочного файла #3
Цитата Сообщение от abit Посмотреть сообщение
lolwhat???
где вы его откопали?
посвежее нельзя взять?
случился бзик и начал работать под досом


Цитата Сообщение от abit Посмотреть сообщение
h-файл в такой постановке вопроса вы не откомилируете
создайте cpp, там сделайте инклуд вашего h-файла и реализацию main и уже cpp компилируйте
так и делал, сначала все в cpp файле, затем погуглил, добавил #ifnde #define #endif потом начал компилировать.


Цитата Сообщение от abit Посмотреть сообщение
ничего она не должна никому
так все же, в заголовочном файле функция main() может присутствовать? не будет возникать ошибок при подключении этого файла?
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
15.04.2013, 15:42     Ошибка при создании заголовочного файла #4
так все же, в заголовочном файле функция main() может присутствовать? не будет возникать ошибок при подключении этого файла?
она просто должна быть в одном экземпляре в проекте... языки c/c++ устроены так, что перед компиляцией собирается так называемый "препроцессорный текст" (на моей старой работе его называли почему-то компиляционный лист) - суть его, что туда складываются все исходные файлы и h/hpp/c/cpp - всё равно... это одна из причин, почему нужны сторожевые механизмы IFNDED, одна из причин почему в C++ нет модулей, как в более современных языках и одна из причин почему всё так долго компилируется, особенно если есть шаблоны
и вот в этом "препроцессорном тексте" должна быть функция main() и должна быть в единственном числе

так и делал, сначала все в cpp файле, затем погуглил, добавил #ifnde #define #endif потом начал компилировать.
куда вы что добавили... я мало понимаю

дайте в упрощённом виде cpp и h-файл...

я вам приведу пример как это должно быть:

myprog.cpp:
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include "myh.h"
 
int main()
{
   std::cout << mys;
   return 0;
}
myh.h:
C++
1
2
3
4
5
6
#ifndef GUARD_myh_h
#define GUARD_myh_h
 
const char * mys = "hello world";
 
#endif
но я не уверен, что во времена Turbo C++ 1.0 был #include <iostream> может там #include <iostream.h>, а может и вообще STL как класс отсутствовал, я в те времена занимался ассемблером и паскалем

Добавлено через 1 минуту
в моём примере компилировать надо исключительно myprog.cpp, не h-файл
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
15.04.2013, 17:27  [ТС]     Ошибка при создании заголовочного файла #5
Цитата Сообщение от abit Посмотреть сообщение
я вам приведу пример как это должно быть:
в общем виде все также, кроме упомянутой функции main()
Цитата Сообщение от abit Посмотреть сообщение
она просто должна быть в одном экземпляре в проекте... языки c/c++ устроены так, что перед компиляцией собирается так называемый "препроцессорный текст" (на моей старой работе его называли почему-то компиляционный лист) - суть его, что туда складываются все исходные файлы и h/hpp/c/cpp - всё равно... это одна из причин, почему нужны сторожевые механизмы IFNDED, одна из причин почему в C++ нет модулей, как в более современных языках и одна из причин почему всё так долго компилируется, особенно если есть шаблоны
и вот в этом "препроцессорном тексте" должна быть функция main() и должна быть в единственном числе
если я правильно вас понял, то все должно получится, если я просто создам проект, но как быть без него, имеется cpp файл с написанными функциями и т. д. необходимо его изменить на file.h и единственная проблема это то, что компилятор требует функцию main, возможно я не совсем вас понял, но есть ли способ создать этот заголовочный файл, без создания проекта(я создавал его без создания проекта, но еще раз повторюсь, только в присутствии функции main())?
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
15.04.2013, 17:52     Ошибка при создании заголовочного файла #6
вы не можете откомпилировать отдельно какой-либо h-файл... я об этом говорил - в С/C++ нет модулей, он каждый раз собирает весь проект с нуля

единственное что можно сделать - это создать объектный-файл, либо lib/dll/so, который потом подключить к проекту на стадии линковки
Yandex
Объявления
15.04.2013, 17:52     Ошибка при создании заголовочного файла
Ответ Создать тему
Опции темы

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