微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用多个文件为C ++设置Sublime 3构建

如何解决如何使用多个文件为C ++设置Sublime 3构建

首先,我对SO一无所知,所以请对我轻松一点:)

话虽如此,我的问题可能真的很容易回答:

我如何在具有多个文件(标头/实现文件)的c ++中使用sublime text 3

我一直在尝试其他人提供的一些构建系统, 这是我目前正在使用的,似乎可以很好地编译单个.cpp文件,但是告诉我一些我不理解的错误

这是我使用g ++的构建配置

{
"cmd": ["g++.exe","-std=c++14","-o","$file_base_name","$file","&&","start","cmd","/c","$file_base_name & echo. & echo. & pause"],"shell": true,"selector": "source.c++"}

这是我的main.cpp:

#include <iostream>
#include <string>
#include "num.h" 
using namespace std;

int main(){

Num n(35);
cout << n.getNum() << endl;
return 0;}

这是我的num.h文件

#ifndef NUM_H
#define NUM_H
class Num
{
    private:
        int num;
    public:
        Num(int n);
        int getNum();
}; 

#endif

这是我的num.cpp:

#include "num.h"
#include <iostream>
#include <stdlib.h>



Num::Num(int x){
    num = x;
}
int Num::getNum()
{
 return num;
}

所有文件都在同一目录中,并且每当我在这样的命令上使用g ++时:(g ++(tdm64-1)5.1.0)

g++ main.cpp num.cpp

没有问题,一切都很好

但是每当我尝试使用精美的文字来构建它时,都会引发此错误

C:\Users\GEBRUI~1\AppData\Local\Temp\ccqq94my.o:main.cpp:(.text+0x1a): undefined reference to `Num::Num(int)'
C:\Users\GEBRUI~1\AppData\Local\Temp\ccqq94my.o:main.cpp:(.text+0x26): undefined reference to `Num::getNum()'
collect2.exe: error: ld returned 1 exit status
[Finished in 0.8s]

如果有人能告诉我我在做什么错,我将非常感激:)

解决方法

一旦您开始需要编译多个文件,那么最好使用makeCMake,而不是尝试自己在命令行或命令行中构建编译命令。构建系统。这样,您无需在每次向项目中添加新文件时都编辑构建系统。

Sublime附带有一个Make构建系统,但是您将需要在外部手动生成Makefile或使用autoconfautomake之类的工具。 CMakeBuilder软件包看起来对使用CMake很有用(我自己还没有使用过),尽管您当然也可以使用外部工具。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?