标签: c++

如何将图像预览从 QML 相机组件传递给 C++ 插件

我正在编写一个 Ubuntu Touch QML 应用程序,用于从相机设备捕获和处理图像。处理由一个 C++ 插件完成,我将图像的 URL 传递给该插件。

我可以成功保存图像并从 C++ 插件加载它们,但我宁愿不必先将图像保存在文件系统上,而是将内存中的相机预览传递给插件。

给定我从相机 ( image://camera/preview_1)获取的预览 URL ,我猜我应该能够获得对"camera" 图像提供者的引用,然后使用requestImage()方法来获取图像。

但是,我一直无法弄清楚如何获得camera图像提供者。这是代码:

QString Decoder::decodeImageQML(const QUrl &imgUrl)
{
    /* 
     * @imgUrl: URL to the camera preview. E.g. image://camera/preview_1
     */

    QQmlEngine * engine;
    QQuickImageProvider *imageProvider = 0;

    // FIXME: this does not work, I'm not sure how to get hold of 
    // the image provider
    imageProvider = engine->imageProvider("camera");

    QImage image = imageProvider->requestImage(("preview_1", &size, QSize());

    return Decoder::decodeImage(image);
}
Run Code Online (Sandbox Code Playgroud)

如何获得对 …

qt c++ application-development qml ubuntu-touch

7
推荐指数
1
解决办法
5954
查看次数

通过 ulimit -s 修改堆栈大小

当我输入ulimit -s终端时,它显示8192. 这是否意味着在我的 C 代码中我只能有 8192 字节的局部变量?

我很困惑哪个堆栈大小。ulimit -s当我们修改它的值时会改变吗?

c c++ application-development

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

Debian打包中rules文件的目的和作用是什么

我正在尝试 debian 打包我在 Netbeans 7.3 的帮助下开发的 C++ 应用程序。这是Makefile其中的一部分。

APPNAME=remotedevicecontroller
install:
    install config.xml /etc/${APPNAME}.conf.xml
    install devices.rules /etc/udev/rules.d/${APPNAME}.rules
    install error.log /var/log/${APPNAME}.log
    install init.conf /etc/init/${APPNAME}.conf
    install init.d /etc/init.d/${APPNAME}
    install ${CND_ARTIFACT_NAME_${CONF}} /usr/local/bin/${APPNAME}
    chmod u+x ${CND_ARTIFACT_NAME_${CONF}}
    ./${CND_ARTIFACT_NAME_${CONF}} -i
Run Code Online (Sandbox Code Playgroud)

我正在关注如何创建 .DEB 包Debian 新维护者指南。当我dpkg-buildpackage -rfakeroot成功完成上述所有步骤后运行时,我遇到了以下错误

$ dpkg-buildpackage -rfakeroot
dpkg-buildpackage: source package remotedevicecontroller
dpkg-buildpackage: source version 1.0-1
dpkg-buildpackage: source changed by satya gowtham kudupudi (gowtham) <gowthamk@newmeksolutions.com>
dpkg-buildpackage: host architecture i386
 dpkg-source --before-build remotedevicecontroller-1.0
 fakeroot debian/rules clean
dh clean
dh: No …
Run Code Online (Sandbox Code Playgroud)

packaging debian netbeans c++

7
推荐指数
1
解决办法
3775
查看次数

虽然我安装了 GSL 库,但 g++ 无法编译我的代码

为了使用 gnu gsl 库,我使用以下命令安装了它:

须藤 apt-get 安装 libgsl0ldbl

当我编写一个简单的 c++ 代码只是为了检查我是否正确安装它时,g++ 说

致命错误:gsl/gsl_vector.h:没有那个文件或目录

我的代码可以在下面看到:

#include <iostream>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_statistics.h>
using namespace std;
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?提前致谢。[我正在尝试在 ubuntu 14.04 64 位上运行它]

编辑 我尝试使用以下命令编译它

g++ 测试.cpp

compiling gcc c++ 14.04

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

无法访问 cairo.h

我已经使用 安装了 cairo-1.4.14 make install,但是在尝试编译我的代码之后:

fatal error: cairo.h: No such file or directory
 #include <cairo.h>
                   ^
Run Code Online (Sandbox Code Playgroud)

我用这个编译:

g++ screenshot.cpp
Run Code Online (Sandbox Code Playgroud)

我从这个输出安装了 3 个包,但仍然是同样的问题:

apt-file search --regex /cairo.h$
libcairo2-dev: /usr/include/cairo/cairo.h
r-cran-rgtk2: /usr/lib/R/site-library/RGtk2/include/RGtk2/cairo.h
thunderbird-dev: /usr/include/thunderbird/cairo/cairo.h
Run Code Online (Sandbox Code Playgroud)

系统信息:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty
Run Code Online (Sandbox Code Playgroud)

的输出pkg-config --libs --cflags cairo

-I/usr/local/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12  -L/usr/local/lib -lcairo
Run Code Online (Sandbox Code Playgroud)

c c++ libraries cairo

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

用于 Ubuntu 的 C、C++ 和 Java IDE

是否有可以在支持 C、C++ 和 Java 的 Ubuntu 上运行的 IDE?我安装了NetBeans,但它只支持 Java。我手动安装了 C/C++ 包,但如果我包含iostream.

有没有其他IDE可以满足我的需求?或者我可以获得预装了所有软件包的 NetBeans 吗?

java software-recommendation c netbeans c++

7
推荐指数
3
解决办法
2万
查看次数

如何安装和设置使用 PortAudio 的环境?

我对 Ubuntu 很陌生,我发现安装程序/库很困难。如何使用终端在 Ubuntu 中安装和构建 PortAudio?

compiling c++ software-installation

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

如何在 ubuntu 14.04 中安装 jsconcpp 进行 C++ 开发?

正如问题告诉我应该如何在 ubuntu 14.04 中安装jsonccpp。我已经下载了 jsoncpp-src-0.5.0.tar.gz 表单sourceforge。然后我使用 sudo 打开 nautilus 并复制、粘贴和提取 tar.gz 文件/opt。我已经安装了 cmake 并使用此代码按照 jsoncpp github 中的建议进行安装

cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF \
      -DARCHIVE_INSTALL_DIR=. -G "Unix Makefiles"
Run Code Online (Sandbox Code Playgroud)

但它给出了这个错误

CMake Error: The source directory "/opt/jsoncpp-src-0.5.0" does not
appear to contain CMakeLists.txt. Specify --help for usage, or press
the help button on the CMake GUI.
Run Code Online (Sandbox Code Playgroud)
  • Codeblocks 用作 C++ 开发 IDE

compiling code-blocks c++ software-installation 14.04

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

是否可以快速拥有一个共享库?

今天我正在试验这个。我决定拍一张我的图书馆。我的 snapcraft.yaml 看起来像这样:

name: inverse
version: "4.1"
summary: [insert summary here]
descrption: [insert short desc here]
  [insert long desc here]
confinement: devmode

parts:
  inverse:
    plugin: cmake
    source: https://github.com/InitializeSahib/Inverse/archive/v4.1.tar.gz
Run Code Online (Sandbox Code Playgroud)

我用 来创建档案snapcraft,然后用 安装它sudo snap install --devmode inverse_4.1_amd64.snap
问题是,我不能用
经过基本检查,我得出了以下结论:

/snap (contains the inverse snap [headers and shared objects])
/usr/local/lib, /lib, /usr/lib (nothing in here)
/usr/local/include, /usr/include (nothing in here either)
Run Code Online (Sandbox Code Playgroud)

毫不奇怪,当我尝试使用它时会g++ 失败

g++: fatal error: inverse/InverseRandom.h: no such file or directory
g++: …
Run Code Online (Sandbox Code Playgroud)

shared-library c++ 16.04 snap

6
推荐指数
1
解决办法
909
查看次数

cpp 与 c++ 编译器?

Ubuntu 中的“cpp”和“c++”编译器有什么区别?

在决定哪些是最优雅的使用之前,我一直试图澄清 Ubuntu(以及一般的 Linux 发行版)中使用的各种编译器同义词。使用“file”命令跟随符号链接可以快速显示“cc”链接到“gcc”,“c++”链接到“g++”。

然而,“cpp”和“c++”没有符号链接,而是链接到两个不同的 ELF 文件,其中“cmp”显示不相似,因此它们也不是硬链接。有谁知道这些编译器之间的差异的重要性?

compiling c++

6
推荐指数
1
解决办法
5975
查看次数