【问题标题】:How can I compile my CPP project on debian?如何在 debian 上编译我的 C++ 项目?
【发布时间】:2016-11-28 13:07:36
【问题描述】:

我刚刚将我的项目从我的 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

【问题讨论】:

  • 不要发布图片。 ls -l 并复制粘贴文件列表。
  • 可以使用make文件进行编译。
  • @MSalters 知道了,编辑了帖子。
  • 我正在使用:make -f reviiyot.cpp,我得到了错误:reviiyot.cpp:5: *** missing separator. Stop.
  • @EladCohen 你没有 Makefile?至少我一个都找不到。

标签: c++ linux compilation debian


【解决方案1】:

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

例如:

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

您也可以create a Makefile

【讨论】:

  • 我还必须链接标题 [inside inc] 吗?
  • 否:如果它们通过#include 包含在程序中。
【解决方案2】:

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

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

注意:将你的头文件的实现文件(.cpp 文件,除了你的主文件)放在src/ 目录中并将main.cpp 留在主目录中会更自然

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    相关资源
    最近更新 更多