Mat*_*Som 6 linux ubuntu googletest 32bit-64bit
我已经成功安装了Google Test .
我的问题如下:我必须测试正在为具有32位操作系统的嵌入式软件开发的项目,因此我需要从64位重新配置Google Test.
使用旧的1.7.0版本,它知道解决方案是这样的:
autoreconf -fvi
./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
make
Run Code Online (Sandbox Code Playgroud)
这就是我现在尝试使用新版本的方法:
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
Run Code Online (Sandbox Code Playgroud)
这样做,因为我在其他地方找不到配置文件,但终端中显示的结果与1.7.0版本的重新配置相同.
但使用后:
make UTEST=yes project_Name
Run Code Online (Sandbox Code Playgroud)
我明白了:
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
Run Code Online (Sandbox Code Playgroud)
项目env变量在makefile中设置为32位,因此不应该是问题.
看着我想的错误信息:这是我的gcc版本吗?
要使用您提到的我的答案构建32位googletest ,请 遵循相同的过程,而不是运行:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest ../googletest
Run Code Online (Sandbox Code Playgroud)
跑:
cmake -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest ../googletest
Run Code Online (Sandbox Code Playgroud)
如果您甚至要在64位主机上进行32位googletest的个人安装,则最好使它明显是32位,例如使用以下方法:
-DCMAKE_INSTALL_PREFIX:PATH=/home/me/googletest_32
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |