大きなフレームワークの一部である単体テスト ファイルがあります。テストで使用しているフレームワーク クラスの一部は、テストに必要な値を返すためにモックアップされたバージョンです。つまり、自分の 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 の複数定義: