代码从windows下visual studio到andriod平台迁移实现步骤

代码从windows下visual studio到andriod平台迁移实现步骤:

前言

前言也是迁言,从windows的visual studio 2012平台迁移到Android平台上,需用修改挺多的代码和需用注意地方。

我们当然的平台当初就考虑了其他平台跨平台的应用问题,所以一开始在windows下就是用cmake来完成工程的建立的,cMakeLists.txt文件都做了一些处理,但是此时只是更针对或说首先保证windows下的编译和使用。

谨此做个记录。

1. modify cMakeLists.txt file,add android define and macro. 2.cmake ./../ Build files have been written to: /home/andriod_a/build 3.size_t problem add <cstddef> head file. 4.error: extra qualification 'rw::scoped_lock::' on member 'scoped_lock' [-fpermissive] remove the class identifier. 5. memcpy define in <string.h> .so change it. 6.no match for 'operator=' in 'inverse = rw_math::matrix3f::operator*(float) const((1.0e+0f / det))' //inverse = inverse * (1.0f/det); matrix3f temp = inverse * (1.0f/det); inverse = temp; 7.no match for 'operator=' in 'rot_mat = rw_math::matrix4f::make_rotation_matrix( matrix4f matrix4f_tmp = make_rotation_matrix(axis_,angle_in_rad_); rot_mat = matrix4f_tmp; 8.warning: inline function 'double const& rw_math::vector3d::operator[](int) const' used but never defined [enabled by default] 9.error: 'memcmp' was not declared in this scope #include <string.h> 10.initializing argument 2 of 'char* strncat(char*, char const*, size_t)' [-fpermissive] 11.compile jpeg library. copy source code,then write or change cMakeLists.txt,then create a buid file,open terminal in the new build file. cmake ./../ ,the last is make ,and it will show u. 12.multiple definition of 'std::__lg(int) i define the inline,so error. 13. the inline function which must achieve in head file ,and could not in *.cpp file. or,u can delete inline word in head files. 14. conflicts with previous declaration 'typedef class rw::rw_shared_ptr<rw_json::json_value_iterator> rw_json::json_value_iterator::ptr' multidefine . 15.no matching function for call to 'transform() transform(ext_.begin(), ext_.end(), ext_.begin(), ::tolower); 16. temp varity can't assign to non-const reference. rw_shared_ptr_shadow temp_shadow = entity_.to_shared_ptr_shadow(); pt2model_entity_define::ptr temp_ptr = temp_shadow.to_shared_ptr<pt2model_entity_define>(); build_pt2model_entity(_pGeometry,_pSymbol,temp_ptr); 17. fatal error: json\json.h: No such file or director #include <json\json.h> ----->#include <json/json.h> 18. fatal error: zlib\\zconf.h: No such file or directory ----->#include "zlib/zlib.h" 19. error: cannot pass objects of non-trivially-copyable type 'const mapped_type {aka const struct std::basic_string<char>}' through '. --->(content_type_field).c_str(); 20.537:49: error: invalid initialization of non-const reference of type 'std::string& {aka std::basic_string<char>&}' from an rvalue of type 'std::string {aka std::basic_string<char>}' string temp_str = request_.get()->get_url(); string& tmp_req_url = temp_str; 21. error: no matching function for call temp variaty problem. make a temp variaty. matrix4d temp_mat = world_mat * t_mat; render_system_->set_world_matrix(temp_mat); 22. abs()--->fabs(); 23.rw_terrian_manager.h:69:12: error: 'terrian_tile' was not declared in this scope can not recongize the friend class in GCC ,so chang forward declaration. #ifdef __linux__ class terrian_tile; #endif 24. Windows.h: No such file or directory linux not compile this model,and commit it. 25. itoa----> #include <sstream> std::ostringstream oss; std::string str = ""; oss << _counter; str = oss.str(); 26. error: taking address of temporary box3d bbox = (instances_[i]->get_bounding()); if (!manipulate_geo_hash(instances_[i]->get_id(), &bbox, update_geo_hash)) ta 27. error: no matching function for call to 'transform(std::basic_string<char>::iterator, std::basic_string<char>::iterator, std::basic_string<char>::iterator, <unresolved overloaded function type>)' transform(_texture_type.begin(), _texture_type.end(), _texture_type.begin(), ::tolower); 28. GetModuleFileName((HINSTANCE)&__ImageBase,buffer,256); #include <stdio.h> ------->string buffer = getcwd(NULL, 0); string execution_path= buffer; 29. xstring ----><string> 30.invalid cast of an rvalue expression of type 'rw::multi_point::ptr {aka rw::rw_shared_ptr<rw::multi_point>}' to type 'rw::multi_point*&' temp variable error. 31. error: 'atof' was not declared in this scope std::stringstream oss; int temp_int; oss << _pri_string; oss >> temp_int; _var = temp_int; 32.error: conflicts with previous declaration u known, have more than one define in u's file.so,find and delete it. 33. malloc no declear. #include <malloc.h> 34. image_info_->image_type = image_type_; rw_image :image_type("ccccccccccccccccc"), 35. don't write like this. _runtime->register_service(_aaaa_multi_service_pid, get_aaa_multi_service()); ((_driver_multi_service_impl*)get_aaa_multi_service())->init(_runtime); ((_driver_multi_service_impl*)get_aaa_multi_service())->set_runtime(_runtime); 36. register_service at last place when add_multi_service. ((terrian_data_sqlite_service_impl*)tms)->init(); _runtime->register_service(terrian_data_sqlite_service_pid, tms ); 37. dom does not show,because android system does not support multi-therad rendering. so ,put the upload in draw thread. 38.please set RW_INDEX rw_uint16 in rw_render_object_creator.cpp when u compile the code in android system,otherwise leave it alone.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-11-03 22:35:31

代码从windows下visual studio到andriod平台迁移实现步骤的相关文章

Windows下Camtasia Studio的安装与卸载

探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View

freerdp windows-freerdp代码在windows下的编译XP系统不适用

问题描述 freerdp代码在windows下的编译XP系统不适用 我在freerdp下载了源码,用cmake生成了VS2010的代码,经过编译成功后,生成的wfreerdp.exe在win7 win8 里可用,在XP里显示无法确定程序输入点....在kernel.dll上. 求有类似编译经验的同行,前辈指导. Q13148994 解决方案 这应该是代码兼容问题吧,不支持XP,XP太老了,微软都停止更新了 解决方案二: 使用VS2008编译试试,

(如图)请各位大神介绍下 visual studio 中的调试、测试和parasoft

问题描述 (如图)请各位大神介绍下 visual studio 中的调试.测试和parasoft 解决方案 不懂楼主想表达什么, 调试不就下断点, 开始调试, 设置调试的条件变量, 查看变量值, 查看callstack, 查看内存等么? parasoft 这个没用过呢.

Windows8 RTM下Visual Studio 2003全文搜索未响应解决办法

最近换了Win8 RTM用2003的时候发现又不能全文搜索了,一搜就未响应.想照Win7的做法结果发现右键-属性没有兼容性那个选项,没办法禁用视觉主题.Google百度未果遂自行研究最后果然发现方法了,记在此处方便同是程序的童鞋. 第一步在安装目录找到这个,大概在 X:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE 第二步右键-兼容性疑难解答 第三步选择疑难解答程序 第四步第二个打钩-下一步 第五步前两个打钩 第六步要点测

使用Visual Studio 2010/2013编译V8引擎步骤分享_C 语言

使用Visual Studio 2013编译V8引擎 复制代码 代码如下: 准备工作,安装Python2.x,git,svn: Git: http://msysgit.github.io SVN:http://www.sliksvn.com/en/download Python:https://www.python.org/downloads/ 第一步,获取V8源码: https://github.com/v8/v8-git-mirror 第二步,获取cygwin,放到V8源码下的third_p

Windows,Visual Studio又升级了,哈哈哈哈哈!

问题描述 .net程序员都在忙着升级IDE啊,win8,VS11不亦乐乎,我做java的现在eclipse3.1还照样用,管它什么操作系统,哥用的绝对是正版IDE,你们忙着升级吧,要不要我给你们个bt链接?哥有这点时间,宁愿再多玩两把星际2,哈哈哈哈哈!!! 解决方案 解决方案二:哈哈哈哈哈!!!解决方案三:这是群嘲么.......解决方案四: 解决方案五:引用2楼hwbox的回复: 这是群嘲么....... 估计是!就不知道是不是2BT了.解决方案六: 解决方案七:DZQXCDOK解决方案八:

Windows 结合 Visual Studio 2012 配置 OpenMesh

最近听了数学中心孙剑老师的几何处理一门课,讲了openmesh,于是试了试.实验室项目一直在windows+VS2012下开发,于是也想着openmesh在win下结合vs2012.环境搞了好久没搞定.网上的方法也都试过了. 官网提供的Openmesh2.3支持32/64位下vs2010,开始想着2012兼容,安装了多次没搞定.比如网上所说的copy lib/include目录,添加OpenMeshTools和OpenMeshCore的lib文件依赖,添加预定义宏 _USE_MATH_DEFIN

用C#代码编写一个控制Visual Studio 6.0的应用程序,要求能够启动VC6,且启动后自动新建一个控制台程序

问题描述 用C#代码编写一个控制VisualStudio6.0的应用程序,要求能够启动VC6,且启动后自动新建一个控制台程序 解决方案 解决方案二:怎么没人理我,自己顶下!解决方案三:请教各位大侠,在线等待中!!!!

哪位高手可以解释下visual studio中C#中的不同字体颜色代表什么意思

问题描述 哪位高手可以详细解释下visualstudio中C#中的不同字体颜色代表什么意思?如果方便的话,请顺便解释下那些不同的图标代表什么意思,谢谢!BTW,如果发错帖子了,请斑竹帮助删除,谢谢! 解决方案 解决方案二:同问...解决方案三:是编辑器里面的字体颜色吗?常见的就是蓝色表示关键字,绿色表示自定义类型吧,可以看Tools->Options,里面的Environment->FontsandColors里面的设置啊.解决方案四:该回复于2008-04-10 10:28:21被版主删除解