前言
使用编辑器编写好的c++代码,怎么去编译,中间会形成什么样的文件,我去一探究究竟。
一、为什么要编译?
把我们写的高级语言转化成二进制的机器码。
二、编译
编写2个函数.cpp,一个头文件,一个主函数。主函数分别调用2个主函数。
1.编译所有的cpp文件
g++ *.cpp -o main
2.编译为静态库
g++ -c *.cpp
ar cqs libfunc.a test_founction.o fun.o
g++ main.cpp -o main libfunc.a
3.编译为动态库
g++ -fPIC -shared -o libzhongzhobong_dy.so *.cpp
g++ main.cpp -o mian libzhongzhobong_dy.so
4.编译文件不在同一级目录
g++ *.cpp ./function/*.cpp -o main2
使用命令指定文件的路径。
cannot open shared object file: No such file or directory
export LD_LIBRARY_PATH=/home/%%%%%/study/test1:$LD_LIBRARY_PATH