将编写的C++文件在linux下编写so文件
添加了 -lstdc++命令,这里是当前目录 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. 5,其中的文件都是可用的,加上库所在的目录。
写一个测试程序。
需要的头文件和cpp 文件 ==========test.h=========== #ifdef __cplusplus // 注意。
3,就要进行测试了,ldd *.so用来查看生成的.so文件中。
4,需要执行的文件 #includetest.h #includeiostream using namespace std; int Test::hello(int i){ if(i3) couthello Class Test3endl; else couthello Class Test3endl; return 0; } int helloT(int j){ Test *t=new Test(); t-hello(j); return 0; } 编译test.cpp文件 g++ -shared -fpic -lm -ldl -o libtest.so test.cpp (g++ -shared -fpic -lm -ldl -lstdc++ -o libwavelet2d.so wavelet2d.cpp 这里添加了-lstdc++用来连接C++的头文件中添加的库) 其中,修改环境变量:修改LD_LIBRARY_PATH变量,(测试用的)如果编译出错。
查看其中的函数;nm -D *.so 或者使用$ nm *.so |grep 函数名 6, , 1,但是注意其中的文件的名称就可以了,将.h文件加载在头文件中。
这里是双下划线! extern C { #endif class Test{ //有类写类,到这里基本就能得到需要的so文件了, 2,so文件名必须以lib开头,查看生成的so文件。
这里的不同之处就是为了防止C++库不能加载,写一个main文件,将变量配置好文件就可以了;在进行编译的命令是: gcc -o test main.cpp -L. -lwavelet2d -lstdc++ gcc -ggdb3 -Wall -o test main.cpp -L. -lwavelet2d -lstdc++ 在下面有一个相似流程的文件,编译具体指令请参考帮助文档,没有就不写了 public: int hello(int i); }; int helloT(int j); #ifdef __cplusplus } #endif ==========test.cpp=========== 这里是你的cpp文件,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/kaifa/9590.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
最强调试器DDD(Data Displ
时间:2021-01-07
-
Linux C语言基础IT之家——
时间:2021-01-07
-
Linux内核插入卸载模块
时间:2021-01-07
-
Linux下的c基础编程——字
时间:2021-01-06
-
Linux下的c基础编程——按
时间:2021-01-06
-
Linux下简单的cIT之家——选
时间:2021-01-06
-
linux通过/sys/class/gpio文件操
时间:2021-01-06
-
通过Java实现Linux系统下g
时间:2021-01-06
热门文章
-
开发一个Linux调试器(四):Elves和dwarv
时间:2020-12-22
-
开发一个Linux调试器(五):源码和信号
时间:2020-12-22
-
shell脚本之始
时间:2020-12-29
-
Linux下简单的cIT之家——选择法排序
时间:2021-01-06
-
linux中gdb的可视化调试
时间:2020-12-27
-
如何挑选你的第一门IT之家语言
时间:2020-12-26
-
通过Java实现Linux系统下grep指令的功能
时间:2021-01-06
-
Linux下的c基础编程——按原顺序插入元素
时间:2021-01-06
-
获取linux机器上的网卡地址
时间:2020-12-26
-
Linux内核插入卸载模块
时间:2021-01-07
