您的位置:首页 > 运维架构 > Linux

在Linux上写一个c++小程序--新手笔记

2016-11-19 19:57 190 查看
小程序的功能:插入一些数据到mysql数据库中。编写一个脚本文件来调用这个程序,并向其main函数传递参数。

里面有几个需要注意的点:

连接mysql数据库,做一些操作

main函数接收外来的参数

在终端执行小程序时报错:段错误

小程序的打包

打包好的小程序在另外一台电脑上运行时报错、

脚本文件调用小程序

1.在c++中连接mysql数据库,我之前用的是qt自带QSqlDatabase来实现。有时候会出现在退出main函数的时候报错,错误是在QSqlDatabase::close()方法处的。没有找到原因。。。后来就用了mysql自己的api。参考博客http://www.cnblogs.com/wunaozai/p/3618383.html

2.具体情况待加

int main(int argc, char * argv[])
{
string s=argc[1];
//...做后续处理
}


3.“段错误”



在我的情况中,“段错误”的出现是因为c++程序内部代码运行的时候出错

4.小程序打包:

小程序打包参考的是:http://blog.csdn.net/hjl_1991/article/details/50365927

其实直接调用可执行程序,不适用同名sh文件也行

5.在另外一台电脑上运行打包好的小程序的时候,出现

libQt5Widgets.so.5–cannot open shared object file: No such file or directory

参考http://ypf3027.iteye.com/blog/2007743解决

注意,我在这个地方踩了一个很大的坑。

**这个文件里面提出的三种方法,第一种创建软连接的形式可行,而且好像不用sudo ldconfig也可以

第二种方法只能临时改一下。

第三种方法改动之后,再次注销时,出现usb disconnect无限循环的问题。

由第三种方法想到自己创建一个.conf文件,放到/etc/ld.so.conf.d/下,在sudo ldconfig。同样会出现usb disconnect的问题。**

同样,看网上很多同学的解决方法,他们貌似没有遇到这种问题,可能是我中间搞错了什么东西。所以只是记下来提醒自己一下

可能是新手的问题,很多理论都不懂,遇到这种情况我就很笨的重装系统。总觉得可以有方法解决。。。

6.脚本调用调试好的小程序

和在终端里一样

主要记一下一些文件的操作。

shell字符串的处理,获取文件名、后缀名等,参考http://blog.csdn.net/guojin08/article/details/38704823

ldd

awk

待加
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux c++ 小程序