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

作者:lqh 时间:2022-05-23 11:21:39 

代码从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.

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

来源:http://blog.csdn.net/cartzhang/article/details/37930317

标签:windows,visualstudio,andriod,平台
0
投稿

猜你喜欢

  • 一文带你搞懂Java中的递归

    2022-10-08 07:34:04
  • C#位运算以及实例计算详解

    2021-06-03 09:03:20
  • C# 实现Distinct将对象按条件去重

    2023-07-24 17:29:59
  • java实现PDF转图片的方法

    2021-05-24 04:29:59
  • Java操作MongoDB数据库的示例代码

    2023-11-23 04:15:51
  • Spring Boot学习入门之AOP处理请求详解

    2023-11-27 10:55:17
  • C#委托用法详解

    2023-06-04 22:46:43
  • C#利用iTextSharp组件给PDF文档添加图片/文字水印

    2021-11-03 20:18:31
  • 详解MyBatis配置typeAliases的方法

    2023-11-29 06:21:52
  • Spring Security+JWT实现认证与授权的实现

    2022-04-02 00:41:11
  • C#中面向对象编程机制之多态学习笔记

    2023-12-06 20:16:33
  • Java进阶必备之多线程编程

    2023-12-17 04:24:51
  • 深入Android 五大布局对象的应用

    2022-03-23 15:25:15
  • Java集合TreeSet用法详解

    2023-11-10 22:53:34
  • Java二叉搜索树基础原理与实现方法详解

    2022-09-12 17:20:59
  • IDEA+JRebel实现全自动热部署的方法步骤

    2023-11-29 13:53:30
  • Android之scrollview滑动使标题栏渐变背景色的实例代码

    2022-10-24 19:26:11
  • 详解用RxJava实现事件总线(Event Bus)

    2022-02-13 16:43:18
  • java中List删除时需要的注意事项

    2023-11-11 01:28:00
  • android绘制圆形图片的两种方式示例

    2021-10-11 13:17:28
  • asp之家 软件编程 m.aspxhome.com