【发布时间】:2020-03-27 13:33:31
【问题描述】:
我正在尝试将 googletest 集成到我的项目中。 我已经构建了 googletest 并生成了 gtest.so 和 gtest_main.so。 将这些文件移动到我的 lib 文件夹并包含到我的包含文件夹中。 编译工作正常,但链接时无法识别 gtest_main.so 格式的格式。 请让我知道可能是什么问题。在进行谷歌测试构建时我是否错过了任何选项?
我构建 googletest 的步骤: 1) 从https://github.com/google/googletest 克隆代码 2) cd 谷歌测试 3)cmake .. 4) 制作
CMakeLists.txt -> 在标志下方启用 设置(CMAKE_CXX_STANDARD 11) set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
CMakeCache.txt 启用 BUILD_SHARED_LIBS
生成 libgtest.so 时,将 *.so 文件复制到 lib 文件夹 我的项目。
构建我的项目,这是一个 tizen 项目。 收到以下错误 libgtest.so : 文件无法识别,文件格式无法识别 collect2:错误:ld 返回 1 个退出状态 clang++:错误:链接器(通过 gcc)命令失败,退出代码为 1(使用 -v 查看调用)
【问题讨论】:
-
错过了一个选项,使用了错误的选项。真的谁能说,因为你没有提供任何关于你实际做了什么的细节。
-
添加了一些细节。如果需要更多信息,请告诉我,
-
当您构建 gtest 时,它会针对您机器的操作系统和处理器进行编译。您的 Tizen 项目可能会针对其他操作系统或处理器进行交叉编译。这两个项目都需要为相同的操作系统和处理器构建。
标签: c++ c compiler-errors linker googletest