前提・実現したいこと
google test を用いてC言語で実装された関数(標準ライブラリの関数と名前が衝突している)をテストしたい。
発生している問題・エラーメッセージ
In file included from test/sample_test.cc:2: ./lib.h:9:11: error: conflicting types for 'memset' void *memset(void *b, int c, long len); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:74:7: note: previous declaration is here void *memset(void *__b, int __c, size_t __len);
私が実装した関数が標準ライブラリと衝突しているため上記のエラーになってしまいます。
かといって、標準ライブラリを用いずに実行すると(-nostdinc
)当たり前かもしれませんがgoogle test が C++ の標準ライブラリを include できず、エラーになってしまします。
In file included from test/sample_test.cc:1: In file included from include/gtest/gtest.h:55: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstddef:45:15: fatal error: 'stddef.h' file not found #include_next <stddef.h> ^~~~~~~~~~ 1 error generated. In file included from test/sample_test2.cc:1: In file included from include/gtest/gtest.h:55: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstddef:45:15: fatal error: 'stddef.h' file not found #include_next <stddef.h> ^~~~~~~~~~ 1 error generated.
かなり断片的な情報になってしまっているので、ざっくりと方針を示していただけるとありがたいです。
よろしくおねがいします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/22 06:05