小编Amy*_*Amy的帖子

如何在Mac OS X上枚举卷?

我不是非常精通Mac OS X编程,但我正在开发一个需要有关存储设备信息的Qt应用程序.基本上是硬盘驱动器和USB拇指驱动器的列表.最终结果应该像一个向量,其中包含每个设备的以下信息:

string:标签
字符串:挂载点
字符串:设备描述(又名友好名称)
uint64:大小
bool:可移动吗?

我一直在Windows上和以下帖子中获取有关磁盘驱动器结果的信息在windows7 - 32位系统上提供了很大的帮助.但是,虽然我非常精通C/C++,但我在Mac OS X编程,Cocoa和/或Objective-C方面并不是很好,所以任何帮助都会非常感激.

c++ macos qt objective-c

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

如何从QMetaObject :: invokeMethod获取返回值

我从我的线程中调用以下内容:

QMetaObject::invokeMethod(pProcessor,
                          "doTask",
                          Qt::QueuedConnection,
                          Q_RETURN_ARG(quint32, taskId),
                          Q_ARG(quint64,   objId),
                          Q_ARG(quint8,    intId),
                          Q_ARG(QString,   name),
                          Q_ARG(QString,   comment)
                          );
Run Code Online (Sandbox Code Playgroud)

但无论我做什么,它都会失败.如果我取出Q_RETURN_ARG(quint32,taskId),则调用该方法,但我需要taskId,这是我无法获得的.任何帮助深表感谢.

c++ qt

12
推荐指数
1
解决办法
7804
查看次数

在移动设备上部署C++ QML插件的正确方法是什么?

我一直在使用Box2D QML插件玩很多东西,看起来非常棒.但是,我想在Android(SGS2)上部署我的示例应用程序,但我似乎无法让它工作.无论我是尝试在AVD上还是在设备上运行它,它都不起作用.androiddeployqt成功完成,但后来我得到"无法启动'MyApp'",而没有其他信息,为什么它无法启动.我可以在AVD和设备上成功运行qml应用程序,但这与插件有关,我找不到任何引用来解决它.

我尝试以不同的方式设置DEPLOYMENTFOLDERS,但如果我弄错了,那么整件事就会失败.即使我没有得到错误,在这种情况下我认为我做对了,它仍然无法启动.

我一直在努力安静一段时间,并且找不到任何有用的信息来解决它.如果您知道任何使用c ++插件并且可以在Android设备上成功部署的项目,那也会很好.

我正在使用为Android编译的Qt 5.2.0和box2d的qt5分支

qt qml qtquick2

8
推荐指数
1
解决办法
3368
查看次数

在NTFS上打开许多小文件太慢了

我正在编写一个应该处理许多小文件的程序,比如数千甚至数百万.我一直在测试500k文件的那一部分,第一步就是迭代一个目录,里面有大约45k目录(包括子目录的子目录等)和500k小文件.遍历所有目录和文件,包括获取文件大小和计算总大小大约需要6秒.现在,如果我尝试在遍历时打开每个文件并立即关闭它,它看起来永远不会停止.事实上,它需要太长时间(小时......).自从我在Windows上执行此操作后,我尝试使用CreateFileW,_wfopen和_wopen打开文件.我没有在文件上读或写任何东西,尽管在最后的实现中我只需要阅读.但是,我没有看到任何尝试都有明显的改善.

我想知道是否有一种更有效的方法来打开具有任何可用功能的文件,无论是C,C++还是Windows API,或者唯一更有效的方式是读取MFT并直接读取磁盘块,我我想避免?

更新:我正在处理的应用程序是使用版本控制进行备份快照.因此,它还具有增量备份.500k文件的测试是在一个巨大的源代码库上完成的,以便进行版本控制,就像scm一样.因此,所有文件都不在一个目录中.还有大约45k目录(如上所述).

因此,建议的压缩文件解决方案没有帮助,因为当备份完成时,就是访问所有文件的时候.因此,我认为没有任何好处,甚至会产生一些性能成本.

c++ windows performance ntfs directory-traversal

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

如何在LibGDX中使用CocoaPods?

我有一个LibGDX项目,我可以在LibGDX支持的所有平台上运行.最近我开始整合Google Nearby Messages API.我通过特定于平台的代码在Android上工作,就像Google上的描述说它应该完成.现在我想将它集成到使用RoboVM的iOS项目中,但是根据他们的文档(https://developers.google.com/nearby/messages/ios/get-started),我应该使用CocoaPods,它不会看起来非常简单,特别是在LibGDX项目中.我希望有这方面经验的人可以帮助我,或者指出我已经完成的项目.谢谢!

libgdx cocoapods robovm

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

如何使用std :: chrono :: duration作为模板参数?

我有一个模板类,类似于:

template < typename T, size_t Seconds > class MyClass {}
Run Code Online (Sandbox Code Playgroud)

现在,我想将Seconds更改为持续时间,因此可以使用参数化对类进行参数化std::chrono::duration.例如,我希望能够这样做:

MyClass < std::string, std::chrono::seconds(30) > object;
Run Code Online (Sandbox Code Playgroud)

此外,在模板中,我想指定一个默认值,如std::chrono::seconds(30).

c++ templates stl c++11 c++-chrono

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

如何确定驱动器的类型?

我试图找出特定驱动器的设备类型。我也想知道如何在 Mac OS X 和 Linux 上做到这一点,但现在如果这太多了,Windows 解决方案就足够了。

因此,假设我有一个驱动器 H。我可以通过 Win32 API 函数 GetDriveType() 确定该设备是否为可移动驱动器。我也可以在 Mac OS X 上找到它。

但是我似乎无法以可靠的方式找到设备类型。例如,它是 USB 闪存驱动器、便携式硬盘驱动器 (PHD) 等。

在 Windows 中挖掘注册表,我似乎也找不到太多信息。尽管如果可能的话,我更愿意为此使用一些 API,但如果需要,我将使用注册表。

现在,我感兴趣的是……是闪存驱动器(因此我可以在我的程序中显示 Usb 闪存驱动器图标)或便携式硬盘驱动器(因此,将显示 PHD 图标)。

c++ windows

5
推荐指数
1
解决办法
3758
查看次数

如何为使用 CPack 创建的 deb 包创建桌面图标?

我在我的项目中使用 CMake/CPack。在 Windows 上,我将 CPack 与 NSIS 结合使用,一切都很好。但对于 Linux,我使用 CPack 的 DEB 生成器,但遇到了一些问题。也就是说,我找不到在 Gnome/KDE/etc 的菜单中添加图标的正确方法。我知道我可以创建 app.desktop 文件,并将其放在 /usr/share/applications 中。但是还有其他(推荐的)方法可以用 CPack 来做到这一点吗?

linux deb cpack

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

如何为Ubuntu安装MongoDB C++驱动程序?

我已经下载了最新的MongoDB C++驱动程序,http://downloads.mongodb.org/cxx-driver/mongodb-linux-x86_64-2.5.2.tgz.当我做'scons'时,它构建得很好.建筑物完工后,我得到以下内容:

ranlib build/libmongoclient.a
Install file: "build/libmongoclient.a" as "libmongoclient.a"
scons: done building targets.
Run Code Online (Sandbox Code Playgroud)

它说它安装了mongo,但我想在适当的位置安装lib和头文件,比如/ usr/local.无论我尝试什么(scons安装,有或没有--prefix),它只是不想在/ usr/local中安装它.事实上,它说安装目标是最新的:

$sudo scons install --prefix=/usr/local
scons: Reading SConscript files ...
Checking for C++ library boost_thread-mt... (cached) yes
Checking for C++ library boost_filesystem-mt... (cached) yes
Checking for C++ library boost_system-mt... (cached) yes
Checking for sasl_version_info(0, 0, 0, 0, 0, 0) in C library sasl2... (cached) yes
Checking for C++ header file execinfo.h... (cached) yes
Checking whether backtrace is declared... (cached) yes
Checking whether backtrace_symbols …
Run Code Online (Sandbox Code Playgroud)

c++ ubuntu mongodb

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

如何为Git存储库组织和设置镜像备份服务器?

我正在将一些svn存储库移动到Git.所以,我基本上尝试做的是:

  • 使用裸Git存储库设置一个服务器,我将从中拉出并推送到
  • 为第一台服务器上的所有存储库设置几个备份服务器.

所以,假设我的服务器上有一个目录,例如:$HOME/git/,它有裸存储库.例如:

~/git/project1.git
~/git/project2.git
~/git/project3.git
...
Run Code Online (Sandbox Code Playgroud)

我的备份服务器可能是此服务器的镜像,或将备份的数据保存在存档或其他任何内容中.我想我可以这样做:

git clone --bare ssh://gitserver/~user/git/projectX.git
Run Code Online (Sandbox Code Playgroud)

或者可能:

$ cd ~/git/project1.git
$ git bundle create ~/gitbackup/project1.bdl --all
Run Code Online (Sandbox Code Playgroud)

然后将所有项目中的所有包复制到我的备份服务器.
但是,拥有很多项目或者策略都是一项繁琐的工作,因此在每种情况下我都需要制作一些脚本来自动完成任务.

我想知道你们是怎么做到这一点的?也许有比我已经考虑过的更好的方法.任何提示将不胜感激.

git

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