Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под *nix > C++ на Unix
Перезагрузить страницу Проблемы компиляции C++ на Linux (shell)
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
DioGen DioGen вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.07.2005
По умолчанию Проблемы компиляции C++ на Linux (shell) - 14.10.2005, 15:58

Linux 2.4.18 Slackware...
пытаюсь скомпилировать 3 файла:
Main.cpp, Man.cpp, Man.h

gcc -c Main.cpp Man.cpp Man.h

вот что выдает


Код:
okaznovsky@sunduk:~/CPP/Baza$ gcc -c Main.cpp Man.h Man.cpp
gcc: Compilation of header file requested
Man.cpp: In method `void Man::SetBirthYear(const char *)':
Man.cpp:20: implicit declaration of function `int atoi(...)'
Man.cpp: In method `void Man::SetPay(const char *)':
Man.cpp:23: implicit declaration of function `int atof(...)'
компилируеться только Main.cpp

код h- файло ниже
Код:
///////////////////////////////////////////////////////////
// Проект Task1_1
///////////////////////////////////////////////////////////
// Man.h
//#include "CyrIOS.h"                 // for Visual C++ 6.0

const int l_name = 30; 
const int l_year = 5; 
const int l_pay = 10; 
const int l_buf = l_name + l_year + l_pay;

class Man {
public:
    Man(int lName = 30);
    ~Man();
    bool  CompareName(const char*) const;
    int   GetBirthYear() const { return birth_year; }
    float GetPay() const { return pay; }
    char* GetName() const { return pName; }
    void  Print() const;
    void  SetBirthYear(const char*);
    void  SetName(const char*);
    void  SetPay(const char*);
private:
    char* pName;
    int   birth_year; 
    float pay;
};
**********
Код:
// Man.cpp
#include <iostream>
#include <cstring>
#include "Man.h"
using namespace std;

Man::Man(int lName) {
    cout << "Constructor is working" << endl;
    pName = new char[lName + 1];
}
Man::~Man() {
    cout << "Destructor is working" << endl;
    delete [] pName;
}
void Man::SetName(const char* fromBuf) {
    strncpy(pName, fromBuf, l_name);
    pName[l_name] = 0;
}
void Man::SetBirthYear(const char* fromBuf) {
    birth_year = atoi(fromBuf + l_name);
}
void Man::SetPay(const char* fromBuf) {
    pay = atof(fromBuf + l_name + l_year);
}
bool Man::CompareName(const char* name) const {
    if ((strstr(pName, name)) && (pName[strlen(name)] == ' '))
        return true;
    else
        return false;
}
void Man::Print() const {
    cout << pName << birth_year << ' ' << pay << endl;
}
///////////////////////////////////////////////////////////


Помогите советом.....плз....
и еще
Есмть ли возможность упростить набор, компоновку, компиляцию програм?
Ответить с цитированием
  (#2 (permalink)) Старый
grustnoe grustnoe вне форума
Member
 
Сообщений: 496
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 08.11.2003
По умолчанию 14.10.2005, 17:39

man atoi
Цитата:
ATOI(3) Linux Programmer's Manual ATOI(3)

NAME
atoi, atol, atoll, atoq - convert a string to an integer

SYNOPSIS
#include <stdlib.h>

int atoi(const char *nptr);
...
догадаешься - какого хидера ты не подключил?
Ответить с цитированием
  (#3 (permalink)) Старый
enki enki вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.12.2005
По умолчанию 11.12.2005, 04:02

Кстати, файл заголовка компилировать не надо.
Ответить с цитированием
  (#4 (permalink)) Старый
Olesya Olesya вне форума
Member
 
Сообщений: 1,485
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.06.2002
По умолчанию 12.12.2005, 12:29

Но это не мешает никому.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с освоением Linux kot.polosat LINUX 7 05.04.2012 21:01
shell.exe Taws Любые вопросы от новичков 2 14.01.2012 23:15
shell-процедура yastreb001 Любые вопросы от новичков 0 07.12.2011 21:09
Работа с SHELL процедурами Mermaid Вопросы начинающих программистов 0 22.01.2011 01:31
Как написать программу на языке shell varvar Вопросы начинающих программистов 2 03.06.2010 12:01
Shell - программы как их написать Chudic Общие вопросы программирования 0 31.03.2010 18:31
Скрипт на Shell Юта Общие вопросы программирования 1 27.06.2008 13:23
Shell для клуба pyzyk_vasja Задания за деньги 6 22.02.2007 19:20
Как сделать shell - процедуру Raksasha Общие вопросы программирования 1 04.12.2006 15:15
Проблемы с компиляцией под Linux alek_lab Trolltech Qt 5 28.10.2005 17:13
Для чего нужен shell-скрипт feedbee Общие вопросы программирования 3 28.07.2005 21:23
Как забиндить Shell Anonymous С/С++ 8 29.12.2003 16:18



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов