查看完整版本: [-- 可执行文件只能使用sudo执行,否则会出现段错误 --]

QTCN开发网 -> Qt安装与发布 -> 可执行文件只能使用sudo执行,否则会出现段错误 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

我们真的无聊 2020-03-23 17:00

可执行文件只能使用sudo执行,否则会出现段错误

求助:在装有qt开发环境的电脑上,可执行文件可以正常运行,在没有开发环境的电脑,只能通过sudo运行,否则就会报段错误。而同事编译的可执行文件不需要通过sudo,可以直接运行。请问是为什么?

uidab 2020-03-23 17:19
比较两个文件权限,

我们真的无聊 2020-03-23 17:33
uidab:比较两个文件权限, (2020-03-23 17:19) 

两个权限都是777。

uidab 2020-03-24 07:44
猜测还是程序问题, 通过sudo运行不起来,一般不会是段错误. 只能提示你没有权限. 但你这里是段错误. 没有代码,没法分析.

建议你新建个项目试试.

我们真的无聊 2020-03-24 10:55
uidab:猜测还是程序问题, 通过sudo运行不起来,一般不会是段错误. 只能提示你没有权限. 但你这里是段错误. 没有代码,没法分析.
建议你新建个项目试试. (2020-03-24 07:44) 

好的,谢谢,我新建了工程是可以的,主要是之前的程序1、我同事编译的没有qt开发环境也可以用。2、我编译的只有在有环境的,或者使用sudo才可以运行。否则就会报段错误。代码主要就是界面切换和一个多线程串口通信。我试了把多线程关了也不行。

uidab 2020-03-24 11:04
我们真的无聊:好的,谢谢,我新建了工程是可以的,主要是之前的程序1、我同事编译的没有qt开发环境也可以用。2、我编译的只有在有环境的,或者使用sudo才可以运行。否则就会报段错误。代码主要就是界面切换和一个多线程串口通信。我试了把多线程关了也不行。 (2020-03-24 10:55) 

你有依赖其他库?
看看这些库的权限

fsu0413 2020-03-24 12:07
QObject的子类不能再静态区初始化

我们真的无聊 2020-03-24 13:32
uidab:你有依赖其他库?
看看这些库的权限 (2020-03-24 11:04) 

   只用了 serial_port_cpp/posix_qextserialport.cpp \, serial_port_cpp/qextserialbase.cpp \,我刚才试了把串口去掉了还是不行。

我们真的无聊 2020-03-24 14:26
fsu0413:QObject的子类不能再静态区初始化 (2020-03-24 12:07) 

我看了一下应该没有

uidab 2020-03-24 14:52
我们真的无聊:   只用了 serial_port_cpp/posix_qextserialport.cpp \, serial_port_cpp/qextserialbase.cpp \,我刚才试了把串口去掉了还是不行。 (2020-03-24 13:32) 

如果是用源代码,应该不是我说的. 建议加上log文件,看看哪里出的问题.或者查看liunx的日志

我们真的无聊 2020-03-25 09:52
uidab:如果是用源代码,应该不是我说的. 建议加上log文件,看看哪里出的问题.或者查看liunx的日志
 (2020-03-24 14:52) 

你好,我昨天调试了看,是执行到exec(),报的错。

fsu0413 2020-03-26 07:11
我们真的无聊:你好,我昨天调试了看,是执行到exec(),报的错。 (2020-03-25 09:52) 

exec之前有什么操作?是不是动用了在一般情况下无法访问的资源?

我们真的无聊 2020-04-10 13:43
没有找到根本原因,但是程序应该是没问题的,换了ubuntu kylin 18之后,就可以正常编译,用的环境什么的都一样的。

fsu0413 2020-04-21 07:28
会不会是 程序里使用了某些文件,一般用户没有权限


查看完整版本: [-- 可执行文件只能使用sudo执行,否则会出现段错误 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled