首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在eclipse中编译googletest

无法在eclipse中编译googletest
EN

Stack Overflow用户
提问于 2021-12-17 17:58:49
回答 1查看 79关注 0票数 0

我正在尝试编译googletest (git克隆https://github.com/google/googletest.git -b release-1.11.0),但是继续获取1000+链接器错误。

我运行windows 10,eclipse (最新),mingw (最新) gcc。我创建了一个eclipse c++项目(可执行的、空的项目)。

增加的包括到以下方面的路径:

  • googletest
  • googletest/includes
  • googlemock
  • googlemock/includes

将源位置添加到:

  • googletest/src
  • googlemock/src

所有的编译都没有问题,但是链接与1000+错误失败。例如:

代码语言:javascript
复制
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
googletest\gtest.o: in function `testing::IsNotSubstring(char const*, char const*, wchar_t const*, wchar_t const*)':
C:\dev\unode\eclipse\unit_tests\Debug/../../googletest/googletest/src/gtest.cc:1821: multiple definition of `testing::IsNotSubstring(char const*, char const*, wchar_t const*, wchar_t const*)';
googletest\gtest-all.o:C:/dev/unode/eclipse/googletest/googletest/src/gtest.cc:1821: first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
googletest\gtest.o: in function `testing::IsSubstring(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
C:\dev\unode\eclipse\unit_tests\Debug/../../googletest/googletest/src/gtest.cc:1827: multiple definition of `testing::IsSubstring(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)';
googletest\gtest-all.o:C:/dev/unode/eclipse/googletest/googletest/src/gtest.cc:1827: first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
googletest\gtest.o: in function `testing::IsNotSubstring(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':

我正在阅读googletest readme.md来找出我做错了什么,但却一无所获。如能提供一些帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-17 18:33:29

啊,有一个文件googletest/src/gtest-all.cc

其中包括所有源文件。所以所有源文件都编译了两次,删除这个文件解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70397103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档