• 3389阅读
  • 0回复

[讨论]linux c 如何调用qt程序 [复制链接]

上一主题 下一主题
离线muhe221
 

只看楼主 倒序阅读 楼主  发表于: 2015-12-19
Hello 大家好, 我想使用C语言fork个子进程后调用qt程序 (该qt程序可独立运行),可是发现总是报错。

错误信息如下:
This application failed to start because it could not find or load the Qt platform plugin "xcb".
Available platform plugins are: linuxfb, minimal, offscreen, xcb.
Reinstalling the application may fix this problem.

本人确信该设置好的库都已经设置好了,可就是报错。

调用代码如下
  1. void start_services() {
  2.   pid_t pid = fork();
  3.   if (pid < 0) {
  4.     LOG(FATAL) << "failed to start service.";
  5.   } else if (pid == 0) {
  6.     const char *arg_ptrs[INIT_PARSER_MAXARGS + 1];
  7.     arg_ptrs[0] = "123456";
  8.     arg_ptrs[1] = '\0';
  9.     ENV[0] = "123";
  10.     ENV[1] = '\0';
  11.     execve("./qt/untitled", (char**) arg_ptrs, (char**) ENV);
  12.     PLOG(FATAL) << "zygote process exit.";
  13.   }
  14.   LOG(INFO) << "init for process zygote pid: " << pid;
  15. }
需要补充说明的是子进程需要和父进程通讯,而且父进程会管理子进程,所以不能用脚本方式启动
希望哪位能提供解决方案,非常谢谢


快速回复
限100 字节
 
上一个 下一个