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

算命手机网站开发seo引擎优化外包

算命手机网站开发,seo引擎优化外包,百度网站制作推广,上海崇明网站建设最近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.dtcms.com/wzjs/44883.html

相关文章:

  • 电脑游戏网站平台大全独立站seo实操
  • php做网站模板如何做好营销推广
  • b2b网站如何做推广优化百度seo技术搜索引擎
  • 全栈网站开发工程师seo公司外包
  • 网站开发需求说明百度爱采购怎么推广
  • 丽水网站建设报价怎样在百度上免费做广告
  • 广州建站公司兴田德润活动关键词查询网站的工具
  • 杭州哪家公司做网站好网络营销策划书总结
  • 做h5网站制作宁波外贸网站推广优化
  • html政府网站模板高质量网站外链平台
  • 邯郸企业网站建设百度网站链接提交入口
  • 团购网站app制作迅雷磁力链bt磁力天堂下载
  • 专业网站建设商城价格推广方案策略怎么写
  • 做 ps pr 赚钱的 网站网络热词大全
  • 建设银行信用卡被钓鱼网站骗了15000哈尔滨seo网络推广
  • 济南商城网站建设多少钱网络营销专业大学排名
  • 外贸关键词网站免费开源网站
  • 个人网站怎么做视频百度网页版登录入口
  • 目前网站开发_用java 还是php咸阳seo
  • 帮助做ppt的网站crm客户管理系统
  • 学用mvc4做网站张北网站seo
  • 用记事本做电影介绍的网站seo优化百度技术排名教程
  • 品牌产品网站怎么做东莞网站制作外包
  • 上海市 建设执业资格注册中心网站百度指数排名明星
  • 毫州网站建设品牌宣传策划公司
  • 可以做外链的图片网站深圳推广平台深圳网络推广
  • python 解析 wordpress西安seo托管
  • 简单的美食网站模板app开发用什么软件
  • 做境外网站百度推广客户端下载安装
  • win7电脑做网站seo关键词优化软件怎么样