gcc:错误:无法识别的选项--wrap

毛格说恢复莫妮卡

[更新]对不起,我发了帖,但是首先知道这一点可能会有所帮助,因为它可能会改变问题。

--wrap是一个选项,链接ld,不要gcc

但是我的Eclipse项目gcc用于链接阶段。

如何根据cmocka单元测试的需要使用包装功能


我正在使用gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

我试图使用此处--wrap指定的链接器选项,以便使用cmocka对C代码进行单元测试。

错误是

make all 
Building target: unit_test_C_code_example_project
Invoking: GCC C Linker
gcc --wrap=add -o "unit_test_C_code_example_project"  ./test_scripts/test_maths.o  ./software_under_test/mocks/mock_add.o  ./software_under_test/maths.o   -lcmocka
gcc: error: unrecognized option ‘--wrap=add’
make: *** [unit_test_C_code_example_project] Error 1

因此,链接器在抱怨该--wrap=add选项,但我不知道为什么。


不可避免地,如果我不发布代码,那么有人会请求它,所以就在这里,即使我怀疑它与链接器选项问题有关:

在单元测试主体中,我有

static void test_multiply_two_by_three(void **state)
{
    will_return(__wrap_add(0, 2), 2);
    will_return(__wrap_add(2, 2), 4);
    will_return(__wrap_add(4, 2), 6);

    assert_int_equal(multiply(2, 3), 6);
}

在另一个文件中,我声明了模拟函数

int __wrap_add(int a, int b)
{
    return mock();
}

并且在我的待测软件中,要包装的功能称为

int multiply(int x, int y)
{
    int total = 0;
    int i;

    for (i = 0; i < y; i++)
        total += add(total, x);

    return total;
}

请注意,add()构建中的任何地方都没有调用任何函数我想要实现的是使用__wrap_add链接器选项模拟该功能链接器为什么拒绝它?

toster-cx

您可以使用将选项传递给链接器-Wl,<linker-option>另外,还有-Xlinker <option>一些gcc版本。尝试gcc -Wl,--wrap=add ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

gcc:错误:无法识别的命令行选项“ -combine”

来自分类Dev

gcc:错误:无法识别的命令行选项

来自分类Dev

R gputools:gcc:错误:无法识别的命令行选项“ -Wp”

来自分类Dev

gcc使用pkg-config引发“无法识别的命令行选项”错误

来自分类Dev

libmad-gcc:错误:无法识别的命令行选项'-fforce-mem'

来自分类Dev

Ubuntu终端-gcc:错误:无法识别的命令行选项'--showme:link'

来自分类Dev

玩gcc wrap选项时出现segfaulting

来自分类Dev

关于“ gcc:无法识别的选项-rdynamic”的问题

来自分类Dev

关于“ gcc:无法识别的选项-rdynamic”的问题

来自分类Dev

无法识别的选项错误:shell中的getopt命令

来自分类Dev

无法识别的选项或错误的args数量:'--evalsha'

来自分类Dev

Behat“无法识别的选项”

来自分类Dev

Avconv无法识别的选项

来自分类Dev

gcc mismatched-tags选项提供了“无法识别的命令行选项”

来自分类Dev

gcc wrap选项是否对函数printf起作用?

来自分类Dev

如何在类方法中使用gcc选项--wrap = symbol

来自分类Dev

错误安装psycopg2 linux“ x86_64-linux-gnu-gcc:错误:无法识别的命令行选项'-Qunused-arguments'”

来自分类Dev

我无法识别的错误

来自分类Dev

MacPorts gcc48无法识别的命令行选项'-stdlib = libc ++'

来自分类Dev

gcc; arm64; aarch64; 无法识别的命令行选项'-mfpu = neon'

来自分类Dev

OpenVPN-选项错误:无法识别的选项或缺少或多余的参数(2.4.5)

来自分类Dev

Cygwin:转换:无法识别的选项-d

来自分类Dev

Boost:位置参数无法识别的选项

来自分类Dev

Kafka无法识别的VM选项'PrintGCDateStamps'

来自分类Dev

libtool:无法识别的选项-static

来自分类Dev

Eclipse:无法识别的选项:-g

来自分类Dev

“ behat”下无法识别的选项“ suites”

来自分类Dev

Git - rm:无法识别的选项`--cached'

来自分类Dev

MongoDB:“无法识别的选项:systemLog”

Related 相关文章

  1. 1

    gcc:错误:无法识别的命令行选项“ -combine”

  2. 2

    gcc:错误:无法识别的命令行选项

  3. 3

    R gputools:gcc:错误:无法识别的命令行选项“ -Wp”

  4. 4

    gcc使用pkg-config引发“无法识别的命令行选项”错误

  5. 5

    libmad-gcc:错误:无法识别的命令行选项'-fforce-mem'

  6. 6

    Ubuntu终端-gcc:错误:无法识别的命令行选项'--showme:link'

  7. 7

    玩gcc wrap选项时出现segfaulting

  8. 8

    关于“ gcc:无法识别的选项-rdynamic”的问题

  9. 9

    关于“ gcc:无法识别的选项-rdynamic”的问题

  10. 10

    无法识别的选项错误:shell中的getopt命令

  11. 11

    无法识别的选项或错误的args数量:'--evalsha'

  12. 12

    Behat“无法识别的选项”

  13. 13

    Avconv无法识别的选项

  14. 14

    gcc mismatched-tags选项提供了“无法识别的命令行选项”

  15. 15

    gcc wrap选项是否对函数printf起作用?

  16. 16

    如何在类方法中使用gcc选项--wrap = symbol

  17. 17

    错误安装psycopg2 linux“ x86_64-linux-gnu-gcc:错误:无法识别的命令行选项'-Qunused-arguments'”

  18. 18

    我无法识别的错误

  19. 19

    MacPorts gcc48无法识别的命令行选项'-stdlib = libc ++'

  20. 20

    gcc; arm64; aarch64; 无法识别的命令行选项'-mfpu = neon'

  21. 21

    OpenVPN-选项错误:无法识别的选项或缺少或多余的参数(2.4.5)

  22. 22

    Cygwin:转换:无法识别的选项-d

  23. 23

    Boost:位置参数无法识别的选项

  24. 24

    Kafka无法识别的VM选项'PrintGCDateStamps'

  25. 25

    libtool:无法识别的选项-static

  26. 26

    Eclipse:无法识别的选项:-g

  27. 27

    “ behat”下无法识别的选项“ suites”

  28. 28

    Git - rm:无法识别的选项`--cached'

  29. 29

    MongoDB:“无法识别的选项:systemLog”

热门标签

归档