gpt4 book ai didi

c++ - 无法识别libgtest.so文件,无法识别格式

转载 作者:行者123 更新时间:2023-12-02 10:56:48 24 4
gpt4 key购买 nike

我正在尝试将googletest集成到我的项目中。
我已经建立了googletest并生成了gtest.so和gtest_main.so。
将这些文件移到我的lib文件夹中,并将包括到我的包含文件夹中。
编译工作正常,但链接时无法识别gtest_main.so格式的格式。
请让我知道可能是什么问题。我在做Google测试版本时错过了任何选择吗?

我建立googletest-的步骤:
1)从https://github.com/google/googletest克隆代码
2)cd googletest
3)cmake ..
4)使

CMakeLists.txt->在标志下方启用
设置(CMAKE_CXX_STANDARD 11)
设置(gtest_force_shared_crt ON CACHE BOOL“”强制)

CMakeCache.txt
使BUILD_SHARED_LIBS为ON

生成libgtest.so时,将* .so文件复制到lib文件夹
我的项目。

建立了我的一个小项目。
收到以下错误
libgtest.so:无法识别文件,无法识别文件格式
collect2:错误:ld返回1退出状态
clang++:错误:链接器(通过gcc)命令失败,退出代码为1(使用-v查看调用)

最佳答案

问题似乎在于测试套件建立在台式机上,而目标处理器是台式机。另一方面,Tizen项目是针对ARM处理器交叉编译的。 Tizen SDK使用单独的堆栈来构建Tizen项目,但无法使用您的库。为非ARM生成的二进制文件不能与ARM二进制文件一起使用。就像@rveerd写道。

无需编译googletest即可在Tizen项目中使用它。

Tizen SDK支持googletest,创建可在Tizen设备上运行的测试项目的最简单方法是使用SDK中包含的模板。 https://developer.tizen.org/development/tizen-studio/native-tools/running-and-testing-your-app/unit-test上的指令说:

  • 在Tizen Studio菜单中,选择File> New> Other> Tizen> Tizen Native Unit Test Project
  • 在“新建Tizen单元测试项目”窗口中:
  • 在“选择要测试的Tizen项目”面板中,选择要测试的项目。
  • 指定测试项目的名称。
  • 指定用于保存项目的目标文件夹。
  • 单击Finish

  • 如果您喜欢保留已创建的项目并将lib复制到该项目,则应使用与目标体系结构匹配的.so文件。要创建一个,您可以使用Tizen SDK工具构建googletest,也可以尝试已经为Tizen构建的工具。 Tizen RPM包含googletest库,例如 http://download.tizen.org/releases/milestone/tizen/unified/tizen-unified_20200521.1/repos/standard/packages/armv7l/gstreamer-utils-1.16.2-24.1.armv7l.rpm

    关于c++ - 无法识别libgtest.so文件,无法识别格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60887098/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com