栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Window程序往Linux端迁移过程记录

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Window程序往Linux端迁移过程记录

一、 项目简介
  • 本次需要将相关算法由window迁移到Linux环境中,用于别的平台进行调用。故在迁移的过程中,对遇到的过程和问题进行了相关记录
二、 迁移过程 2.1 相关配置环境简介
  • Linux主机相关配置环境为
IP:172.30.3.**
账号:root
密码:******
  • 使用的相关工具为
Xshell  #用于连接Linux进行终端环境命令操作
Xftp     #用于传输相关代码到Linux中
2.2 相关目录简介
  • 需要拷贝第三方库目录
    /home/用户名/vectorization/10Public   
  • 将代码工程放置在如下位置

  • /home/用户名/vectorization/HdLite-test

  • 相关具体组织目录如下

- /home/用户名/vectorization/10Public   # 第三方库
|--------------------- /home/用户名/vectorization/HdLite-test
|---------------------------------build    //   生成build
|---------------------------------cmake-build-debug //cmake中间文件
|---------------------------------HDLite  //工程代码
|---------------------------------lib         //生成的库目录
|---------------------------------CmakeList  //Linux编译组织文件
2.3 CmakeLists文件配置介绍
  • 主目录下CMakeList
    通过 add_subdirctory来调用子目录下的CMakeList
  • 子目录下CMakeList
三、迁移中遇到的相关问题 3.1 baseDatastruct.h文件no such file or directory
  • 引用头文件时,windows下对大小写时不区分的,而在Linux下对大小写是需要进行区分的。问题在于实体文件名称为baseDataStruct.h
3.2 Memset was not declared
  • 需要引入 #include 头文件
3.3 引入的头文件 not found
  • 再linux中引入头文件需要,添加/ , 但是再windows中/或者都可以
3.4 相关宏找不到
  • DBL_MAX和DBL_MIN的宏未定义,Windows中的定义在VC/include/float.h中
  • 但是LInux中无法找到该相关宏的定义,需要在cpp中进行声明
3.5 fopen_s无法找到
  • 使用fopen替换fopen_s
3.6 sprintf_s无法找到
  • 使用spinrtf替换sprintf_s
3.7 sort函数中的参数需要使用const
  • sort(arrMeasure.Begin(),arrMeasure.End(),[&](Double& d1, Double& d2)); 提示编译错误
  • sort(arrMeasure.Begin(),arrMeasure.End(),[&](const Double& d1,const Double& d2)); 则会编译通过
  • 如果sort函数抵用类型为 sort(arrMeasure.Begin(),arrMeasure.End(),SortWallPointByZvalue)); 则需要将SortWallPointByZvalue函数的入参都为const
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/589445.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号