如何在debian上编译我的CPP项目?

时间:2016-11-28 13:07:37

标签: c++ linux compilation debian

我刚将我的项目从我的PC移动到运行Debian的虚拟机中。 我的项目包含一些类和标题,如何用G ++编译它?

ls -l
-rw-r--r-- 1 root root 2369 Nov 27 20:17 Card.cpp
-rw-r--r-- 1 root root 1299 Nov 27 15:56 Deck.cpp
-rw-r--r-- 1 root root 6529 Nov 27 20:58 Game.cpp
-rw-r--r-- 1 root root 4639 Nov 27 20:12 Hand.cpp
drwxr-xr-x 2 root root 4096 Nov 27 20:00 inc
-rw-r--r-- 1 root root   19 Nov 18 10:35 main.cpp
-rw-r--r-- 1 root root 5113 Nov 27 20:05 Player.cpp
drwxr-xr-x 2 root root 4096 Nov 28 07:58 src

/src ls -l
-rw-r--r-- 1 root root 490 Nov 28 07:58 reviiyot.cpp (this is the main)

/inc ls -l
-rw-r--r-- 1 root root 1506 Nov 26 17:31 Card.h
-rw-r--r-- 1 root root  842 Nov 25 12:25 Deck.h
-rw-r--r-- 1 root root  830 Nov 26 23:55 Game.h
-rw-r--r-- 1 root root  774 Nov 27 15:55 Hand.h
-rw-r--r-- 1 root root 2383 Nov 27 20:00 Player.h

2 个答案:

答案 0 :(得分:2)

您必须将所有必需的来源链接在一起:

例如:

g++ src/reviiyot.cpp main.cpp Hand.cpp Game.cpp Deck.cpp Card.cpp  Player.cpp -Wall -o MyProgram

或者,您可以create a Makefile

答案 1 :(得分:0)

您需要同时指定所有.cpp文件以及include目录的路径,因此在您的情况下,编译命令可能类似于

g++ src/reviiyot.cpp -I inc/ ./*.cpp -o executableFile

注意:将标题的实现文件(除了main之外的.cpp文件)放在src/目录中并将main.cpp放在主目录中更自然