RSS订阅福州龙轩合击传奇公司为1.80火龙传奇打造最完美的传奇版本,提供1.85英雄合击新开传奇好最新开复古金币1.76复古传奇,全国最快的找服发布网。
你现在的位置:首页 / 金币传奇私服 / 正文

pcl1.80源码编译,怎么编译LINUX源码?

0 金币传奇私服 | 2024年2月16日

pcl1.80源码编译目录

PCL编译SSE优化导致的移植错误Illegalinstruction

怎么编译LINUX源码?

怎么配置sourceinsight使得可以编译C语言程序

PCL编译SSE优化导致的移植错误Illegalinstruction

自己使用了pcl的程序在自己的电脑上运行正常,但是打包到其他的电脑上运行时报段错误(segmentationfault),然后使用gdb调试的时候,发现类似如下错误点:

无论你使用的是pcl的动态库(*.so)还是静态库(*.a),就很奇怪:

自行编译pcl的时候,cmake会自动检测机器能进行的优化,然后可能会给编译器加上-march=native的编译选项,进行SSE等适合本地机器的优化,能起到加速的作用。

指定了-march参数,gcc将不会再用兼容的指令去编译。

如果只是自己电脑用,没有什么问题,但是如果编译的库还要在其他的电脑上使用,如果其他的机器不具备这些优化的硬件,指令就执行不了,就会报Illegalinstruction的错误,呈现在上面就是段错误(segmentationfault)

之所以上面的错误在别的电脑上还能知道自己电脑上特定文件的位置呢,因为PCL编译的时候默认的编译类型是RelWithDebInfo,这样编译出来的库是有调试信息的,所以能指向特定文件位置。

编译PCL的时候,如果只有自己使用,开启也没有关系,还能加速。

如果是编译公共库或者程序要在其他的机器上运行,建议不要开启SSE优化。

关闭SSE优化后的PCL的库(无论是动态库还是静态库),其他程序依赖之后就不会产生上面的Nosuchfileordirectory的错误。

如果开启了。

cmake的时候,中间输出信息中会有UsingCPUnativeflagsforSSEoptimization:-march=native的输出,如下图所示

在PCL源码cmake文件夹下,有个pcl_options.cmake的文件

找到下面的内容。

默认第二个时ON,把它改成OFF即可

怎么编译LINUX源码?

linux源码多为C语言,编译用GCC,调试为GDB,两个功能都及其强大,其它的编译器,调试器都只能望其项背了!!!

怎么配置sourceinsight使得可以编译C语言程序

sourceinsight使得可以编译C语言程序配置方法:

要想编译c,需要配置PcLint。

1、假设sourceinsight的安装目录在d:/pclint8,那么pclin.exe就在这个目录,

所有的*.lnt文件在d:/pclint8/lnt目录下面:

打开菜单:options-

推荐您阅读更多有关于“ ”的文章

上一篇:想找个传奇SF游戏~谁能给我介绍个?下一篇:传奇SF赌元宝的窍门谁知道。

猜你喜欢

评论列表:

发表评论

必填

选填

选填

必填,不填不让过哦,嘻嘻。

记住我,下次回复时不用重新输入个人信息

搜索
网站分类
Tags列表
最近发表