1、查看Linux位数:#getconf LONG_BIT 。
2、获cmake源码包,这里我先新建一个茄尺蚂文件夹来存放cmake# mkdir app# cd /app# wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
3、困举解压源码包颤埋# tar xzvf cmake-3.3.2.tar.gz
4、安装gcc等程序包(安装过则忽略)# yum install gcc-c++
5、安装cmake,先进入解压后的cmake目录# cd cmake-3.3.2# ./bootstrap
6、查看cmake版本。安装即可完成。
androidstudio如何执行makeinstall:在Ubutu上编译出来的.so文件,怎么添加到Android项目中去使用呢?目前:可以通过Makefile方式和CMake方式引入预编译静动态库(静态库.a 动态库.so)到项目中去使用。就目前而言CMake是Goole推荐使用方式,但是加入接手一个老的NDK项目是MakeFile方式,看不懂就GePi了,所以这里我们还是介绍一下MakeFile方式将静动态库加入到AS中,完成NDK项目的开发。废话不多说,直接撸步骤了:
1、在src/main目录下创建一个ndkBuild文件夹
2、在此文件中创建一个Android.mk文件
3、在此文件中创建一个test.c的源文件
4、物册培将编译好的的.so库复制到src/main目录下
如图所示目录结构:
1、编辑Android.mk文件
2、编辑grade(app)文件
3、编辑test.c文件
4、使用编译好的.so库里面的罩唯函数
本结果运行在Android 5.1 系统上
再次运行在Android 8.0系统上
看以清楚知道,其实我们的APK包里面就没有libMainTest.so库,所以APP在8.0上会出现奔溃的现象。so...
1、在src/main目录下创建一个cmake文件夹
include:里面包含需要一些头文件
cmakeTest.c:需要编译的源文件
2、在app目录下创建一个文件姿尘:CmakeLists.txt
3、编辑grade(app)
4、编辑cmakeTest.c文件
4、引用编译好的libcmakeTest.so
Android 8.0.0系统:
Android 5.1.1系统:
git clone http://github.com/google/googletest
cd googletest
cmake .. (此时遇到问题,若没遇到问题的可以往下继续输命令)
make
make install (到这一步就安装完了)
解决方法(前提是之前安装过 CMake ,若没安装的安装完再进行下一步):
1 vi .bash_profile (最好再重新开一个终端来 *** 作)
2 在 .bash_profile 中输入
export CMAKE_ROOT=/Applications/CMake.app/Contents/bin/
export PATH=$CMAKE_ROOT:$PATH
3 保存退出.bash_profile文件
4 source .bash_profile
一般情况下,这样子就可以了,但是我在查看CMake version的时候还是报错了,接着找解决方法。。。
可能是命令输错了,后来才发现应该是cmake --version。但是此时的我,已经找到解决方法啦~
打开CMake应用程序,从菜单栏橘败中选择【Tools】,然后从下拉菜单中选择“How to Install For Command Line Use”,便会d出一个对话框,这个对话框提示你该如何配置,从而使得在命令行中也能够直接使用CMake命令。
我们主要关注其中的前两种方法。首先,如果圆升颤你在命令行中输入 cmake --version,你会发现系统并不认识cmake这个命令。然后使用上面图中给出的第一种方法,即在命令行中输入PATH="/Applications/CMake.app/Contents/bin":"$PATH",再执行跟cmake有关的命令,笑哗系统就可以正确识别它了。
但是,这个方法只能管一时(这跟Ubuntu下的情况类似),当你关闭命令行窗口后,再重新开启一个命令行窗口,系统仍然表示无法识别cmake命令。所以我们来尝试第二种方法。在新开的命令行窗口中输入(最好是从CMake的GUI对话框上直接复制,以免输错)
sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
此时,再次打开新的命令行窗口,cmake也可以正常运行了!
到此为止,这个问题就处理完啦!
之后再接着上面的命令继续安装gtest就好了~
CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
set(CMAKE_CXX_STANDARD 11)
project(demo)
find_package(GTEST REQUIRED)
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} ${GTEST_LIBRARIES})
main.cpp
#include <iostream>
#include <gtest/gtest.h>
int add(int a, int b) {
return a + b
}
int sub(int a, int b) {
return a - b
}
// case1
TEST(test, c1) {
EXPECT_EQ(3, add(1, 2))
EXPECT_EQ(12, add(2, 6))
}
// case2
TEST(test, c2) {
EXPECT_EQ(-1, sub(1, 2))
}
GTEST_API_ int main(int argc, char ** argv) {
testing::InitGoogleTest(&argc, argv)
return RUN_ALL_TESTS()
}
输入命令:
cmake .
make
./demo
嘤嘤嘤,又出现新的问题~
找了好久都没找到怎么解决,后来发现原来上面就有报错了
然后,就随便去新建了个文件夹,把文件拷贝进去就成功啦~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)