Linux开发

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Linux开发 >

将编写的C++文件在linux下编写so文件

来源:网络整理  作者:网友投稿  发布时间:2020-12-27 00:05
1,需要的头文件和cpp 文件 ==========test.h=========== #ifdef __cplusplus // 注意,这里是双下划线! extern C { #endif class Test{ /...

添加了 -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

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

将编写的C++文件在linux下编写so文件

2020-12-27 编辑:网友投稿

添加了 -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

相关文章

风云图片

推荐阅读

返回Linux开发频道首页