仅当我#include .cpp文件时才编译vscode

问题描述 投票:0回答:1

我是VSCode的新手,我正在研究C ++ multi .cpp编译,但是失败了。错误是:'获得对`Complex :: Complex()''的未定义引用]和下面的2个其他函数这是我的代码

main.cpp

#include "complex.h"
int main()
{
    Complex a;
    a.Input();
    a.Display();
    return 0;
}

complex.h

#include <iostream>
using std::cin;
using std::cout;
using std::endl;
class Complex
{
private:
    int x,y;
public:
    Complex();
    void Input();
    void Display();
};

complex.cpp

#include "complex.h"
Complex::Complex()
{
    x=y=0;
}
void Complex::Input()
{
    cout<<"Enter complex"<<endl;
    cout<<"x= ";cin>>this->x;
    cout<<"y= ";cin>>this->y;
}
void Complex::Display()
{
    cout<<x;
    if(y<0) cout<<"-"<<-y<<"i"<<endl;
    else cout<<"+"<<y<<"i"<<endl;
}

但是当我在main.cpp

中将“ complex.h”更改为“ complex.cpp”时,尽管我知道这样做是错误的,但它仍然可以工作。我已经在Visual Studio C ++上尝试过此方法,并且与.h文件一起使用时效果很好我应该如何处理这个vscode?谢谢您的关注。

我是VSCode的新手,我正在研究C ++ multi .cpp编译,但是失败了。错误是:'获得对`Complex :: Complex()的未定义引用以及下面的2个其他函数这是我的代码main.cpp #include“ ...

c++ visual-studio-code multifile
1个回答
0
投票

complex.h中将其制成main.cpp,然后使用> g++ main.cpp complex.cpp -I -o main进行编译。您需要告诉编译器也编译complex.cpp。应该可以。

© www.soinside.com 2019 - 2024. All rights reserved.