web-dev-qa-db-ja.com

Ubuntu 12.04のフォルダー内でC ++をコンパイルする

フォルダー内での.cppのコンパイルについて質問があります。

first.cppそのようなファイルまたはディレクトリはありません

しかし、家で実行するとコンパイルされます。私が残したかもしれない設定はありますか?ありがとう。

ターミナル出力は次のとおりです( 大きく表示 ): enter image description here

law@ubuntu:~$ ls
Android-sdk   Downloads         Pictures        test        wallpapers
Android-sdks  Eclipse           Public          Tomcat      workspace
Desktop       examples.desktop  sourcecodescpp  Ubuntu One
Documents     Music             Templates       Videos
law@ubuntu:~$ dir sourcecodescpp
first.cpp
law@ubuntu:~$ g++ first.cpp
g++: error: first.cpp: No such file or directory
g++: fatal error: no input files
compilation terminated.
law@ubuntu:~$ ./a/out
bash: ./a/out: No such file or directory
law@ubuntu:~$ ls
Android-sdk   Downloads         Pictures        test        wallpapers
Android-sdks  Eclipse           Public          Tomcat      workspace
Desktop       examples.desktop  sourcecodescpp  Ubuntu One
Documents     Music             Templates       Videos
law@ubuntu:~$ dir ls
dir: cannot access ls: No such file or directory
law@ubuntu:~$ ls
Android-sdk   Downloads         Music           Templates   Videos
Android-sdks  Eclipse           Pictures        test        wallpapers
Desktop       examples.desktop  Public          Tomcat      workspace
Documents     first.cpp         sourcecodescpp  Ubuntu One
law@ubuntu:~$ g++ first.cpp
law@ubuntu:~$ ./a.out
Hello World!law@ubuntu:~$ ^C
law@ubuntu:~$ ^C
law@ubuntu:~$ 
4
userIsAMonkey

/home/lawコマンドを発行したときは、ホームフォルダー(g++ first.cpp)にいました。ただし、first.cppsourcecodescppフォルダーにあります。 first.cppをコンパイルするには、それを含むフォルダーを入力する必要があります。

cd sourcecodescpp

(デフォルトでは、出力ファイルはsourcecodescpp内に作成されます。)

または、その名前を含むフォルダーの名前でその名前を修飾します。

g++ sourcecodescpp/first.cpp

(デフォルトでは、出力ファイルはホームフォルダー内に作成されます。)

5
Eliah Kagan

最初にcdディレクトリに移動(ディレクトリを変更、またはsourcecodescpp)して、そこにあるファイルを実行/コンパイルする必要があります。そのために実行してください

cd sourcecodescpp

ターミナルから、そのディレクトリに移動します。

これで実行できます

g++ first.cpp

コンパイルして

./a.out

走る。

2
saji89

そうです、そのようなエラーを避けるために、cppファイルへのフルパスを与えることができます。

私も次のように動作するはずです:

g++ /home/yourdirectory/first.cpp
1
deej