Architecture ARM - Linux:
Linux tegra-ubuntu 4.4.38-tegra aarch64 : gcc 5.4.0 : cmake 3.5.1
Unix makefile 编译通过, 包括编译选项 -march=armv8-a 和 -march=armv8-a+crypto -mcpu=cortex-a57+crypto
Architecture X86_64 - Win10:
MinGW+ Msys + VS2017:
windows 下 cmake 生成 visual studio 2017 的解决方案,然后修改项目引用路径,手动添加依赖库configparser,修改linux下的引用文件......
1.Install the MinGW to enable CMAKE works.
2.Run CMAKE to generate cmake files like vs solution related files.
3.Modify the project configuration: remove /Wl,--no-as-needed compilation option
4.Manually add config_parser.h and config_parser.cpp
5.Modify the source file, add condition compilation macro, replace linux header file and implement used linux system function like realpath(), getpid()... etc.
MinGW + MSYS + GCC:
安装的时候要选择posix 线程模型以支持C++11 thread: threads-posix发行版将使用 posix API并允许使用 std:: thread,threads-win32将使用 win32api,并禁用标准的std::thread 部分
【 mingw-w64线程模型:posix vs win32(posix允许使用c++11的std:: thread,但要带一个winpthreads,可能需要额外dll) 】
https://stackoverflow.com/questions/17242516/mingw-w64-threads-posix-vs-win32
最终MinGW下的编译方式成功,但仍更改了小部分代码,去掉了syscall() 的引用,增加 了realpath的win下的实现
CygWin:
操作同linux,直接git clone cmake make就搞定了。。。
About gradle:
windows上要是的gradle能自动解析并下载依赖包,需要安装jdk并添加pah环境变量,再运行gradlew.bat,但要注意改build.properties文件的引用库平台以及所下载的依赖库版本,显然linux下的库在windows下无法引用。
当出现执行gradle,FAILIURE:Build failed with an exception,检查gradle和jdk版本匹配问题