新建一个main.cpp, 里面写上这样一段代码
#include <stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
然后在控制台编译
$ g++ -o test.exe main.cpp;./test.exe
hello world
改成先输出 .o 文件再变成可执行文件
$ g++ -c main.cpp;g++ -o test.exe main.o;./test.exe
hello world
上面这个就是直接用命令行编译某个文件。
接下来, 新建一个 main1.cpp
#include <stdio.h>
void fun1()
{
printf("fun1\n");
}
和 main1.h
#pragma once
void fun1();
修改main.cpp ,让其调用 fun1() 函数
#include <stdio.h>
#include "main1.h"
int main()
{
printf("hello world\n");
fun1();
}
同样执行上面的命令: 就会得到下面的报错
$ g++ -c main.cpp;g++ -o test.exe main.o;./test.exe
main.cpp: In function 'int main()':
main.cpp:9:5: error: 'fun1' was not declared in this scope
fun1();
^~~~
hello world
因为没有编译main1.cpp