【问题标题】:Unit Tests with Netbeans - unbuffer.dll no such file or directory使用 Netbeans 进行单元测试 - unbuffer.dll 没有这样的文件或目录
【发布时间】:2017-01-23 07:38:31
【问题描述】:

我正在尝试让 Google Test v1.7.0 在 Windows 10 上与 Netbeans v8.2 一起使用。我使用 Mingw-w64 作为编译器,并在 MSYS2 上安装了 mingw-w64-x86_64-gtest 包。我已在项目设置中将控制台类型设置为“外部控制台”,并将-lgtest 添加到“测试文件”文件夹设置中“链接器”选项卡上的“附加选项”行。我有可能的最小测试应用程序,如下所示:

#include <gtest/gtest.h>

int main (int argc, char** argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

这似乎编译得很好,但是当我尝试运行它时,我收到以下错误:

0 [main] make 1060 C:\msys64\usr\bin\make.exe: *** fatal error - error while loading shared libraries: /C/Users/Ryan/AppData/Roaming/NetBeans/8.2/bin/nativeexecution/Windows-x86_64/unbuffer.dll: cannot open shared object file: No such file or directory

关于如何解决这个问题的任何想法?

编辑,这似乎不是 gtest 独有的,如果我使用没有外部依赖关系的 Netbeans“简单测试”进行测试,我也会得到关于 unbuffer.dll 的相同错误

【问题讨论】:

  • 我也遇到了同样的问题。看起来这是 msys2 中的一个错误,曾一度修复,但又回来了。解决方法是在项目设置下将控制台类型更改为外部终端,但这不起作用。

标签: c++ unit-testing netbeans mingw-w64 msys2


【解决方案1】:

我在使用 cppunit 时遇到了类似的问题,并在这里找到了适合我的解决方案 https://bz.apache.org/netbeans/show_bug.cgi?id=269738

我所做的是用网站上 64 位系统的“附件 164026”文件替换有问题的 unbuffer.dll 文件。之后测试编译并正常运行。

一定要保留旧版本的unbuffer.dll

【讨论】:

    猜你喜欢
    • 2016-07-22
    • 2018-08-11
    • 1970-01-01
    • 2021-11-18
    • 2013-05-04
    • 2021-06-24
    • 2021-06-11
    • 1970-01-01
    • 2015-06-24
    相关资源
    最近更新 更多