
代码从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/build3.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; #endif24. 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)) ta27. error: no matching function for call to 'transform(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. 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
总结以上是内存溢出为你收集整理的代码从windows下visual studio到andriod平台迁移实现步骤全部内容,希望文章能够帮你解决代码从windows下visual studio到andriod平台迁移实现步骤所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)