- 本次需要将相关算法由window迁移到Linux环境中,用于别的平台进行调用。故在迁移的过程中,对遇到的过程和问题进行了相关记录
- 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
- 引用头文件时,windows下对大小写时不区分的,而在Linux下对大小写是需要进行区分的。问题在于实体文件名称为baseDataStruct.h
- 需要引入 #include
头文件
- 再linux中引入头文件需要,添加/ , 但是再windows中/或者都可以
- DBL_MAX和DBL_MIN的宏未定义,Windows中的定义在VC/include/float.h中
- 但是LInux中无法找到该相关宏的定义,需要在cpp中进行声明
- 使用fopen替换fopen_s
- 使用spinrtf替换sprintf_s
- 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



