加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何为32位嵌入式软件重新配置Google Test?

发布时间:2020-12-14 01:02:41 所属栏目:Linux 来源:网络整理
导读:我已经设法根据 this.安装了Google Test 我的问题如下:我必须测试正在为具有32位操作系统的嵌入式软件开发的项目,因此我需要从64位重新配置Google Test. 使用旧的1.7.0版本,它知道解决方案是这样的: autoreconf -fvi./configure --build=i686-pc-linux-gnu
我已经设法根据 this.安装了Google Test

我的问题如下:我必须测试正在为具有32位操作系统的嵌入式软件开发的项目,因此我需要从64位重新配置Google Test.

使用旧的1.7.0版本,它知道解决方案是这样的:

autoreconf -fvi
./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
make

这就是我现在尝试使用新版本的方法:

cd home/CWD/googletest/googlemock
autoreconf -fvi
./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"

cd home/CWD/googletest/googletest
autoreconf -fvi
./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"

cd ..
mkdir googletest_build
cd googletest_build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest ../googletest
make
make install

这样做,因为我在其他地方找不到配置文件,但终端中显示的结果与1.7.0版本的重新配置相同.

但使用后:

make UTEST=yes project_Name

我明白了:

Linking... project_Name
GTEST_LDFLAGS=-L ../../googletest//lib/ -lpthread -lgtest -lgtest_main -lgmock -lstdc++!
/usr/bin/ld: skipping incompatible ../../googletest//lib//libgtest.a when searching for -lgtest
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../libgtest.a when searching for -lgtest
/usr/bin/ld: skipping incompatible //usr/lib/libgtest.a when searching for -lgtest
/usr/bin/ld: cannot find -lgtest
/usr/bin/ld: skipping incompatible ../../googletest//lib//libgtest_main.a when searching for -lgtest_main
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../libgtest_main.a when searching for -lgtest_main
/usr/bin/ld: skipping incompatible //usr/lib/libgtest_main.a when searching for -lgtest_main
/usr/bin/ld: cannot find -lgtest_main
/usr/bin/ld: skipping incompatible ../../googletest//lib//libgmock.a when searching for -lgmock
/usr/bin/ld: cannot find -lgmock
collect2: error: ld returned 1 exit status

项目env变量在makefile中设置为32位,因此不应该是问题.

看着我想的错误信息:这是我的gcc版本吗?

解决方法

使用 my answer that you have referred to构建32位googletest
只需按照相同的步骤,而不是运行:

cmake -DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest ../googletest

跑:

cmake -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest ../googletest

如果您在64位主机上进行32位googletest的个人安装
明确它是32位,例如,这是一个好主意.通过使用如下:

-DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest_32

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读