我有一个单元测试文件,它是大型框架的一部分。我在测试中使用的一些框架类是模拟版本以返回我测试所需的值。那就是我在自己的c源文件中重新定义了一些框架类。
除了从链接器行中删除框架库之外,有没有办法在 Linux 上强制 ld 使用我自己的框架类对象?我无法真正删除这些库,因为我仍在使用一些未经修改的框架对象。
这是链接错误:
MyClass::MyClass' build/Debug/GNU-Linux-x86/tests/tests/my_ut.o:/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../include/c++/4.4.5/exception:62: first defined here ../frameworklib.a(MyClass.o): In function
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../include/c++/4.4.5/bits/char_traits.h:250: MyClass'的多重定义: