1.当有c语言源代码可以直接编译
calc.h
#ifndef_CALC_H#define_CALC_Hintadd(inta,intb);intsub(inta,intb);#endif
calc.c
#include'calc.h'intadd(inta,intb){returna+b;}intsub(inta,intb){returna-b;}
main.cpp
#include
目录结构如下
点击加载图片
编译:当有c语言源代码可以直接编译
换句话说就是.c和.h.cpp在同一层目录下
在ubuntu16.04运行
点击加载图片
格式:
g++(空格)文件名.cpp(空格)文件名.c(空格)-o(空格)输出文件名
g++main.cppcalc.c-omain#有c源代码的时候添加头文件不能用extern'C'{#include'calc.h'}
2.当没有c语言源代码只有c的库不能直接编译
1.把c语言源代码编译成库
先把C语言源文件封装成后缀为.so文件
gcc-olibcalc.so-shared-fPICcalc.c
2.编译c++程序使用c库
要修改main.cpp
#include
现在文件目录结构如下
calc.hlibcalc.somain.cpp
点击加载图片
g++-omainmain.cpp-L./-lcalc
#-L后是库所在的路径,-l后面接库名,比如libcalc.so库名就是calc
点击加载图片
但是在这里编译完成后还是不能运行,需要添加运行路径
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
点击加载图片
成功运行
联系客服