[转]g++ 编译多个相关文件
三个文件,一个头文件,两个程序文件
/*
d.h
*/
#include <iostream>
using namespace std;
class Dataset
{
public:
int getdata();
};
d.h
*/
#include <iostream>
using namespace std;
class Dataset
{
public:
int getdata();
};
/*
d.cpp
*/
#include "d.h"
int Dataset::getdata()
{
return 1231;
}
d.cpp
*/
#include "d.h"
int Dataset::getdata()
{
return 1231;
}
/*
out.cpp
*/
#include <iostream>
#include "d.h"
using namespace std;
int main()
{
Dataset Ds;
cout<<Ds.getdata()<<endl;
return 1;
}
out.cpp
*/
#include <iostream>
#include "d.h"
using namespace std;
int main()
{
Dataset Ds;
cout<<Ds.getdata()<<endl;
return 1;
}
编译:
[root@localhost code]# g++ -o test.o d.cpp out.cpp
[root@localhost code]# ./test.o
1231
[root@localhost code]#
编译成动态库
[root@localhost code]# g++ -o d.o -c d.cpp
[root@localhost code]# ar -r d.a d.o
ar: 正在创建 d.a
[root@localhost code]# g++ -o out out.cpp ./d.a
[root@localhost code]# ./out
1231
[root@localhost code]#
[root@localhost code]# g++ -o test.o d.cpp out.cpp
[root@localhost code]# ./test.o
1231
[root@localhost code]#
编译成动态库
[root@localhost code]# g++ -o d.o -c d.cpp
[root@localhost code]# ar -r d.a d.o
ar: 正在创建 d.a
[root@localhost code]# g++ -o out out.cpp ./d.a
[root@localhost code]# ./out
1231
[root@localhost code]#
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步