gpt4 book ai didi

c++ - 多文件 C++ 编译

转载 作者:太空宇宙 更新时间:2023-11-04 15:04:50 31 4
gpt4 key购买 nike

(希望)我找不到答案的快速问题:

我被分配了一个简短的 C++ 任务。我们要编写一个 3 文件程序。将有一个函数文件、一个头文件和一个驱动程序文件。到目前为止,这是我得到的:

header (test.h):

#include <iostream>
using namespace std;
#ifndef TEST_H
#define TEST_H

int foo (int bar);

#endif

函数(test.cpp):

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

int foo (int bar){
bar++;
}

驱动程序(drive.cpp):

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

int main(){
int x = foo(2);
cout << x << endl;
return x;
}

当我尝试编译 drive.cpp 时,出现以下错误:

drive.cpp:(.text+0xe): undefined reference to `foo(int)'

那么...我做错了什么?

最佳答案

对于像这样的小项目,只需一次编译所有 .cpp 文件即可:

g++ main.cpp driver.cpp

对于较大的项目,您将编译和链接步骤分开:

编译:

g++ -c main.cpp -o main.o
g++ -c driver.cpp -o driver.o

链接:

g++ main.o driver.o

或者更确切地说,您需要一个 makefile 或 IDE 来为您完成这项工作。

关于c++ - 多文件 C++ 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989968/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com