【问题标题】:Code working on Debug but doesn't work on Release在 Debug 上工作但在 Release 上不起作用的代码
【发布时间】:2020-05-24 14:27:57
【问题描述】:

我在 Cpp 上写了这个小代码,使用 Qt 库加载点云资源文件并将其复制到临时目录中,然后使用库 pcl 加载它,代码如下:

QResource::registerResource(qstring_path_to_resource_file);
QTemporaryDir temporaryDir("Dir");
QFile::copy(":/point_cloud/pc.pcd", temporaryDir.path() + "/pc.pcd");
pcl::io::loadPCDFile(QString(temporaryDir.path() + "/pc.pcd").toStdString(), *pointcloud);

当我在调试模式下启动它时它运行良好,但在发布时不起作用。显然,它找不到我复制的临时文件。

感谢您的帮助。

【问题讨论】:

  • 检查您的 IDE 设置以运行您的程序。尤其要检查发布和调试工作目录之间的差异。
  • 检查copy()和errorString()的返回值(使用copy()的非静态版本)
  • 只是另一个问题,您是否在调试和发布模式下都构建了库?
  • @Someprogrammerdude 我确实检查过,它是同一个目录
  • @Salvo 是的,我确实为调试和发布构建了

标签: c++ visual-studio qt


【解决方案1】:

我遇到了同样的问题,问题是资源文件 (.rcc) 没有正确创建。尝试重新创建您的 .rcc 文件并再次检查

【讨论】:

    猜你喜欢
    • 2019-12-28
    • 2020-03-18
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多