web-dev-qa-db-ja.com

CおよびC ++プログラムのコンパイル方法

私は「build essential packager」をインストールする必要があることをどこかで読んだので、試しました:

Sudo apt-get install build-essential 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

しかし、ファイルはまだコンパイルまたは実行されません...

gcc -Wall -W -Werror factorial.cpp -o factorial.

私に与えます:

gcc -Wall -W -Werror factorial.cpp -o factorial.
factorial.cpp:3:22: fatal error: iostream.h: No such file or directory
compilation terminated

これは私のコードです://階乗を計算するための静的メンバーを示すWAP

    #include<iostream.h>    
    #include<conio.h>
class fact
{
int i;
    static int count;
    public : 
    void calculate()
    {
        long int fact1=1;
        count++;
        for(i=0;i<=count;i++)
        {
            fact1=fact1*i;
        }
        cout<<"\nFactorial of"<<count<<"="<<fact1<<"\n";
    }
};
int fact :: count;
void main()
{
    int i;
    clrscr();
    fact f;
    for(i=1;i<=15;i++)
    {
        f.calculate();
    }
    getch();
}

私は何をすべきか.. ???

3
Roshan

テストソースパッケージにはいくつかの問題があります。

私の推測では、少し古いC++標準(g++の代わりにgcc)を使用して、おそらくWindowsルーチンに基づいて(conioを使用して)コンパイルしようとしています。

テストプログラムを整理しました。

#include <iostream> /* dont need .h */    
using namespace std; /* use a namespace */
/* #include <conio.h>   this is a windows header - dont need */

class fact
{
int i;
    static int count;
    public : 
    void calculate()
    {
        long int fact1=1;
        count++;
        for (i = 2; i <= count; i++)
        {
            fact1 *= i;
        }
        cout << "\nFactorial of " << count << '=' << fact1 << '\n';
    }
};
int fact :: count;

int main(void) /* you had an invalid main declaration */
{
    int i;
    /* clrscr();  not necessary */
    fact f;
    for (i = 1; i <= 15; i++)
    {
        f.calculate();
    }
    /* getch(); not necessary */

    return 0; /* need to return a standard value */
}

次に使用してコンパイルします

g++ factorial.cpp -o factorial
5
fossfreedom
0
Maxime R.