• 代码从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: jsonjson.h: No such file or director
    		#include <jsonjson.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.	
    
    	
    	
    	
    	
    		
    


    非常感谢我的同事sun同学的帮助!

    ==============THE END=============

  • 相关阅读:
    C# 发布和订阅2
    C#中的事件订阅与发布
    [PhaserJS] 鼠标事件
    在nsis中使用2个欢迎/完成页面图像
    NSIS 打包脚本基础
    PostgreSQL 如何比较两个表的定义是否一致
    P5333[JSOI2019]神经网络【dp,容斥】
    P8329[ZJOI2022]树【容斥,dp】
    P6803[CEOI2020]星际迷航【博弈论,dp,矩阵乘法】
    P8330[ZJOI2022]众数【根号分治】
  • 原文地址:https://www.cnblogs.com/qitian1/p/6461977.html
Copyright © 2020-2023  润新知