标签: c++

从 QML App 运行系统命令

我想从我的应用程序内部运行系统命令。假设使用 SSH 在远程服务器上运行命令。但这不是重点。关键是我不知道如何从应用程序运行任何类型的命令。我在邮件列表中询问,他们推荐我使用 C++ 构建 QML 扩展。但是我不懂 C++,似乎我必须学习这么多才能运行一个简单的命令。

在 Python 中(如在 PHP 中),很容易运行系统命令。在我的 Touch 应用程序中还有其他方法可以做到这一点,或者有人可以帮助我更多吗?或者也许对我的问题有更好的解决方案?

c++ application-development qml ubuntu-touch

17
推荐指数
3
解决办法
1万
查看次数

在哪里手动安装库?

我想在我的 Ubuntu 系统上安装SFML(一个免费的多媒体 C++ API),这基本上不是问题。但我想知道我应该在哪里存储文件。

我可以看到,Ubuntu 将我的 C++ 标准库存储在/usr/include/c++等等中。我想要的文件?

我正在寻找的只是某种“如何做对”的方式,但我找不到答案。我希望我的图书馆保持井井有条。

c++ libraries

16
推荐指数
1
解决办法
4万
查看次数

如何在 Ubuntu 桌面 15.04 64 位上安装 g++ 5.1?

我想在 Ubuntu 上试验新的 GCC 5.1 C++ 编译器。

因此,我在虚拟机中下载并安装了 Linux Ubuntu 桌面 15.04 64 位。

然后,在终端中,我输入了以下命令:

sudo apt-get update
sudo apt-get install g++5
Run Code Online (Sandbox Code Playgroud)

下载并安装了几个软件包;但是当我输入时:

g++ --version
Run Code Online (Sandbox Code Playgroud)

我仍然得到:

g++ (Ubuntu 4.9.2-10ubuntu13) 4.9.2
Run Code Online (Sandbox Code Playgroud)

我也试过(从这个问题):

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-5
Run Code Online (Sandbox Code Playgroud)

但我仍然得到 4.9.2 作为g++ --version.

我应该怎么做才能尝试 g++ 5.1,而不用从源代码构建整个东西?
是否可以安装预构建的二进制文件?

apt gcc c++ software-installation

15
推荐指数
2
解决办法
4万
查看次数

在 Ubuntu 22.04 上编译使用模块的 C++20 程序

我正在尝试运行一个简单的程序:

\n
import <iostream>;\nint main()\n{\nstd::cout << "Hello, World!" << std::endl;\nreturn 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我已经检查过,据说我已经拥有最新版本的 gcc。\nbuild-essential 已经是最新版本(12.9ubuntu3)。

\n

我尝试过运行:

\n
g++ -std=gnu++20 -o hello hello.cpp \n
Run Code Online (Sandbox Code Playgroud)\n

或者

\n
gcc -std=c++20 -o hello hello.cpp \n
Run Code Online (Sandbox Code Playgroud)\n

但他们俩都给了我

\n
hello.cpp:1:9: error: \xe2\x80\x98iostream\xe2\x80\x99 was not declared in this scope\n    1 | import <iostream>;\n      |         ^~~~~~~~\nhello.cpp:1:9: error: \xe2\x80\x98iostream\xe2\x80\x99 was not declared in this scope\nhello.cpp:1:9: error: \xe2\x80\x98iostream\xe2\x80\x99 was not declared in this scope\nhello.cpp:1:9: error: \xe2\x80\x98iostream\xe2\x80\x99 was not declared in this scope\nhello.cpp:1:9: error: \xe2\x80\x98iostream\xe2\x80\x99 was not declared …
Run Code Online (Sandbox Code Playgroud)

gcc c++

15
推荐指数
1
解决办法
1万
查看次数

你如何在 Ubuntu 中找到库(C++)?

抱歉,这是一个初学者问题,但我最近开始在 Ubuntu 12.10 上使用 C++ 进行编程,并且我已经安装了一些我需要使用的库,例如PCL,但我找不到它们来将它们添加到我的项目。我使用Qt Creator作为 IDE,qmake它是随附的。

例如,对于 PCL,我按照他们网站上的说明进行操作:

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
Run Code Online (Sandbox Code Playgroud)

由于没有发生任何问题,我必须假设它们已正确安装。

我在网上找到的大多数有关添加外部库的教程都假设您使用的是 Windows 并且知道您在哪里下载了库。

由于我没有在 C++ 中添加外部库的经验,有人可以告诉我在哪个文件中,如果有,在 Ubuntu 中默认安装了库吗?

这些库文件的扩展名是什么?

是否有脚本/命令可以帮助检测库或所有已安装的库?

c++ libraries

14
推荐指数
2
解决办法
4万
查看次数

尝试在 QtProject 中调试时收到错误

我安装了最新版本的 QtProject,所以现在我可以调试C++代码了。

第一次尝试调试时,我收到此错误:

ptrace: Operation not permitted.

Could not attach to the process. Make sure no other debugger traces this process.
Check the settings of
/proc/sys/kernel/yama/ptrace_scope
For more details, see /etc/sysctl.d/10-ptrace.conf
Run Code Online (Sandbox Code Playgroud)

compiling debugging qt c++

14
推荐指数
1
解决办法
1万
查看次数

clang++ 找不到 iostream

这是一个简单的代码:

#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <iterator>
#include <iomanip>
#include <cmath>

int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我想用 编译它时g++,没有问题:

$ g++ test.cpp 
$ ./a.out 
Hello, world!
Run Code Online (Sandbox Code Playgroud)

但如果我想这样做clang++它就不再起作用了:

$ clang++ t.cpp               
t.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
         ^~~~~~~~~~
1 error generated.
Run Code Online (Sandbox Code Playgroud)

如果我添加选项,以下是返回 clang 的内容-v

$ clang++ test.cpp -v
Ubuntu clang version 14.0.0-1ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC …
Run Code Online (Sandbox Code Playgroud)

c++ clang

14
推荐指数
1
解决办法
1万
查看次数

如何将 ncurses.h 添加到在 gcc 上编译的 C++ 程序中?

我对 gcc 上的 C++ 编程完全陌生。我想为控制台输出的文本添加颜色。由于 linux 上没有 conio.h,我研究并发现 ncurses.h 可以解决问题。现在唯一的问题是我不知道如何下载然后添加库。有人可以描述一下方法吗?

另外,如果有人可以描述 ncurses.h 是否比curses.h 更好,或者我在使用curses.h 时是否完全错误?

gcc c++ ncurses

13
推荐指数
1
解决办法
3万
查看次数

我可以在没有轮询的情况下对窗口打开的事件采取行动吗?

我试图找到一种方法来检测在 Ubuntu 16.04 中打开的窗口(任何窗口)的事件

我希望能够检测到“窗口打开”事件并检查打开的窗口是否是我想要的窗口,然后运行 ​​bash 脚本或 C/C++ 函数。

到目前为止,我发现我可以使用它wmctrl -l来查找已经打开的窗口。我可以使用这个命令,也许grep可以找到我寻找的窗口是否打开,然后根据这些信息采取行动。

我不想轮询,因为我不希望应用程序在窗口打开时处于空闲状态。动作应该尽可能“即时”。

是否有我可以监听的事件或信号来实现这一目标?从内核、窗口管理器 (Compiz) 或某些更改的日志文件?

编辑: 澄清一下,我有一个应用程序(不在我的控制之下)它可能随时显示一个窗口,这个窗口没有标题但它确实设置了 WM_CLASS(WM_CLASS 对于应用程序的所有窗口都是相同的)。我想根据显示(或创建)该窗口的事件采取行动,以最好/更容易的为准。

该窗口似乎不是在主应用程序窗口“内”打开的。使用xwininfo -children -id <window-id>显示主应用程序和搜索窗口位于不同的分支上,连接到“根窗口”。

分支看起来像这样,其中 R 是“根节点”;A 是主应用程序分支的根节点,Y 是具有搜索窗口 W 的分支的根节点:

    R
   / \
  A   Y
 /\    \
B  C    X
    \    \
     Q    W
Run Code Online (Sandbox Code Playgroud)

所以我希望我能找到 YXW 的独特结构

我不确定我是否必须听所有窗口,但我假设我必须检查“根窗口”中发生的情况并尝试找到寻找的窗口。

bash events window c c++

13
推荐指数
1
解决办法
3024
查看次数

无法执行 .out 文件,权限被拒绝

我编写了一个 C++ 程序并编译它以生成一个.out 文件。但是,每当我尝试运行它时,都会收到 Permission Denied。我读到我们可以使用 sudo,但我无法让它正常工作。我使用类似sudo "./a.out" 的东西,但这也不起作用。

编辑

这是我尝试“./a.out”时得到的消息。

bash: ./a.out: Permission denied
Run Code Online (Sandbox Code Playgroud)

command-line executable c++ compiler

12
推荐指数
3
解决办法
9万
查看次数