当前位置: 首页 > news >正文

学校网站设计论文二十条优化措施原文

学校网站设计论文,二十条优化措施原文,如何建立自己的平台,移动登录网页模板下载最近linux编译了ceres库,因为要涉及到一个程序源代码的编译,但是反复测试,一直各种错误,所以一个个问题排除; 虽然前面ceres库编译成功了,但是版本自定义扔进去的,所以在进行代码编译的时候各种报错。 参考…

最近linux编译了ceres库,因为要涉及到一个程序源代码的编译,但是反复测试,一直各种错误,所以一个个问题排除;
虽然前面ceres库编译成功了,但是版本自定义扔进去的,所以在进行代码编译的时候各种报错。
参考链接:
1、abseil库的安装-Ubuntu18.04
2、Ubuntu安装使用Ceres Solver

我的相关博客:
Arm Linux ceres库编译(树莓派5上编译)
x86 Linux ceres库编译(麒麟V10 SP1)

目录

  • 一、编译注意事项
    • 1.1、关于版本号
      • 1.1.1、absl版本
      • 1.1.2、ceres版本
    • 1.2、卸载及重装absl库
    • 1.3、卸载及重装ceres库
    • 1.4、absl测试代码
      • 1.4.1、Hello_basl.cpp 文件
      • 1.4.2、CMakeList.txt文件
      • 1.4.3、编译方法
      • 1.4.4、成功样例
    • 1.5、ceres测试代码
      • 1.5.1、test_ceres.cpp 文件
      • 1.5.2、CMakeLists.txt文件
      • 1.5.3、编译步骤
      • 1.5.4、成功样例
      • 1.5.5、失败案例

一、编译注意事项

1.1、关于版本号

编译ceres时候要注意版本号,很多错误都是由于版本差异太大导致源代码兼容问题,所以通过版本可以根据发布时间确定依赖环境的版本号,要不然即使编译成功了,后面在代码编译的时候也会出现兼容性问题,导致代码编译失败

1.1.1、absl版本

首先进入github仓库:https://github.com/abseil/abseil-cpp
点击Tags

在这里插入图片描述

1.1.2、ceres版本

按照这个思路,ceres库编译的时候可以先查一下ceres库的版本,根据发布时间,下载时间相近的库进行编译,环境问题应该可以解决
ceres github仓库:https://github.com/ceres-solver/ceres-solver

在这里插入图片描述

所以这里我下载了两套*.zip 代码重新编译
ceres-solver-2.2.0.zip
abseil-cpp-20230125.3.zip 或 abseil-cpp-20240722.1.zip
我虚拟机上使用 abseil-cpp-20240722.1.zip 和ceres 2.2.0 配套编译成功

1.2、卸载及重装absl库

卸载absl
sudo rm -rf /usr/local/lib/libabsl*
sudo rm -rf /usr/local/include/absl
sudo rm -rf /usr/local/lib/cmake/absl
sudo rm -f /usr/local/lib/pkgconfig/absl.pc验证absl卸载干净了
ls /usr/local/lib | grep libabsl
ls /usr/local/include | grep absl重装absl库
cd abseil-cpp-20240722.1
mkdir build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make 
sudo make install

注意,这里我没有设置 -DCMAKE_CXX_STANDARD=17 ,这段话的意思是使用C++17进行编译,如果这么设置在以后编译源代码使用C++11的时候就会编译出错,必须使用C++17,比较麻烦,所以这里我尝试去除掉,编译没有什么问题,在后面使用也没有什么问题

1.3、卸载及重装ceres库

卸载ceres库
sudo rm -rf /usr/local/include/ceres
sudo rm -rf /usr/local/lib/libceres*
sudo rm -rf  /usr/local/lib/cmake/Ceres验证ceres库是否存在
ls /usr/local/include | grep ceres   # 应无输出
ls /usr/local/lib | grep libceres   # 应无输出重装ceres库
cd ceres-solver-2.2.0
mkdir build
cd build#不编译GTest库
cmake .. -DBUILD_TESTING=OFF 
make
sudo make install

1.4、absl测试代码

1.4.1、Hello_basl.cpp 文件

#include <iostream>
#include <absl/strings/string_view.h>using namespace std;int main()
{absl::string_view sv = "hello world";cout<<sv<<endl;return 0;
}

1.4.2、CMakeList.txt文件

cmake_minimum_required(VERSION 3.16)
project(hello_absl)find_package(absl REQUIRED COMPONENTS strings base str_format)  # 声明依赖项‌:ml-citation{ref="1,4" data="citationList"}
add_executable(hello_absl Hello_basl.cpp)
target_link_libraries(hello_absl absl::strings absl::base absl::str_format) 

1.4.3、编译方法

cmake .
make

1.4.4、成功样例

在这里插入图片描述

失败样例搞丢了,就是出现各种错误

1.5、ceres测试代码

1.5.1、test_ceres.cpp 文件

#include <ceres/ceres.h>
#include <iostream>// 定义一个代价函数
struct CostFunctor {template <typename T>bool operator()(const T* const x, T* residual) const {residual[0] = 10.0 - x[0];return true;}
};int main(int argc, char** argv) {google::InitGoogleLogging(argv[0]);// 初始值double initial_x = 5.0;double x = initial_x;// 构建最小二乘问题ceres::Problem problem;ceres::CostFunction* cost_function =new ceres::AutoDiffCostFunction<CostFunctor, 1, 1>(new CostFunctor);problem.AddResidualBlock(cost_function, nullptr, &x);// 配置并运行求解器ceres::Solver::Options options;options.linear_solver_type = ceres::DENSE_QR;options.minimizer_progress_to_stdout = true;ceres::Solver::Summary summary;ceres::Solve(options, &problem, &summary);std::cout << summary.BriefReport() << "\n";std::cout << "x : " << initial_x << " -> " << x << "\n";return 0;
}

1.5.2、CMakeLists.txt文件

cmake_minimum_required(VERSION 3.16)
project(hello_world)set(absl_DIR "/usr/local/lib/cmake/absl")
find_package(Ceres REQUIRED)
message("Ceres: " ${CERES_LIBRARIES})
message("Ceres_DIR: " ${Ceres_DIR})include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/usr/local/include/usr/include//usr/include/eigen3
)set(CMAKE_BUILD_TYPE "Debug") # 默认是Release模式,设置为Debug才能调试
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) # 设置可执行文件的输出目录add_executable(hello_world test_ceres.cpp)target_link_libraries(${PROJECT_NAME} PRIVATE Ceres::ceres)

1.5.3、编译步骤

cmake .
make

make执行后会在当前目录生成./bin/hello_world程序

1.5.4、成功样例

在这里插入图片描述

1.5.5、失败案例

那个成功案例是解决了这个失败后,这里的一个号是编译ceres时强制设置进去的,所以helloworld都编译不过去

在这里插入图片描述
根据版本章节,根据ceres库的版本选择配套的absl版本,不用强制指定版本号也可以顺利编译过去,该问题自然消失了。
——辉 2025.4.16

http://www.cadmedia.cn/news/1082.html

相关文章:

  • 今日油价95号汽油价格湖南网站seo地址
  • 山东城市建设招生网站百度竞价被换着ip点击
  • 成都企业网站建设那家好排名首页服务热线
  • wordpress header.php在哪里seo网站优化收藏
  • 东莞品牌网站建设网页制作步骤
  • 济南将开展治堵十大行动seo优化服务商
  • 网站建设"淘宝网" 在颜色选取和搭配方面有哪些值得学习的地方.在线seo优化工具
  • 泗阳网站定制公司网站的推广方案
  • 网站做中秋专题怎么弄郑州关键词排名公司电话
  • 交友网站建设要多少钱百度代运营公司
  • 一建 建设网站首页seo诊断站长
  • 大悟网站设计免费产品推广软件
  • 望京网站建设公司营销活动推广方案
  • 口碑好的福州网站建设网站建设关键词排名
  • 开发一个网站需要的技术百度应用宝
  • 网络绿化网站建设哪家专业百度店铺免费入驻
  • 公司做网站要注意什么淘宝推广运营
  • 网站设计与建设公司百度服务中心
  • 装修公司网站该怎么做站长工具seo综合查询分析
  • 手机网站建设咨询网络推广外包联系方式
  • seo关键词怎么优化seo网络推广哪家专业
  • 北京网络营销的培训课程淄博seo
  • 深圳做棋牌网站建设哪家服务好百度上做推广怎么收费
  • 郑州建设企业网站找哪个公司关键词优化和seo
  • 怎样申请注册公司网站整合营销活动策划方案
  • 潭州教育网站开发株洲网站设计外包首选
  • 网站站点建设端口号的作用域名推荐
  • 软件工程师发展前景优化营商环境的措施建议
  • 京东商城网官网 网上购物平台优化网站标题
  • 昆明网站建设首选互维baidu百度一下