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

82端口做网站aso关键词排名优化是什么

82端口做网站,aso关键词排名优化是什么,做网站ie10缓存,制作视频教程问题描述 我有一个使用 CMake 构建的现有 C/Qt 项目,我想开始添加 Rust 代码,并能够从主 C 代码库中调用这些 Rust 代码。应该如何组织项目结构? 现有项目结构 ./CMakeLists.txt ./subproject-foo/CMakeLists.txt ./subproject-foo/src/..…
问题描述

我有一个使用 CMake 构建的现有 C++/Qt 项目,我想开始添加 Rust 代码,并能够从主 C++ 代码库中调用这些 Rust 代码。应该如何组织项目结构?

现有项目结构
./CMakeLists.txt
./subproject-foo/CMakeLists.txt
./subproject-foo/src/...
./subproject-bar/CMakeLists.txt
./subproject-bar/src/...
./common/CMakeLists.txt
./common/src/...

我想添加一个类似结构的 common-rust/ 目录。

解决方案

为了在 CMake 项目中集成 Rust 代码,可以使用 ExternalProject 模块,它可以用于构建不使用 CMake 的外部依赖项。

Rust 项目设置

假设你有一个 common-rust 子目录,其 Cargo.toml 文件如下:

[package]
name = "rust_example"
version = "0.1.0"[lib]
name = "rust_example"
crate-type = ["staticlib"]

并且在 lib.rs 文件中定义一个函数 add

#[no_mangle]
pub extern fn add(lhs: u32, rhs: u32) -> u32 {lhs + rhs
}
CMake 项目设置

在顶层的 CMakeLists.txt 文件中,可以这样配置:

add_executable(Example cpp/main.cpp)# 启用 ExternalProject CMake 模块
include(ExternalProject)# 设置 ExternalProject 的根目录
set_directory_properties(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/Rust)# 将 rust_example 添加为 CMake 目标
ExternalProject_Add(rust_exampleDOWNLOAD_COMMAND ""CONFIGURE_COMMAND ""BUILD_COMMAND cargo build --releaseBINARY_DIR "${CMAKE_SOURCE_DIR}/common-rust"INSTALL_COMMAND ""LOG_BUILD ON)# 创建 Example 对 rust_example 的依赖关系
add_dependencies(Example rust_example)# 指定 Example 的链接库
target_link_libraries(Exampledebug "${CMAKE_SOURCE_DIR}/common-rust/target/debug/librust_example.a"optimized "${CMAKE_SOURCE_DIR}/common-rust/target/release/librust_example.a"ws2_32 userenv advapi32)set_target_properties(Example PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON)

请注意,这里依赖于 Cargo 在路径中可用。

示例 C++ 代码

cpp/main.cpp 文件内容如下:

#include <cstdint>
#include <iostream>extern "C" {uint32_t add(uint32_t lhs, uint32_t rhs);
}int main() {std::cout << "1300 + 14 == " << add(1300, 14) << '\n';return 0;
}
平台依赖

对于非 Windows 平台,需要修改链接的系统库。例如,在 macOS 上需要链接 m, c, System, resolv 库。

另一种方案

可以使用 Corrosion 项目,它简化了 CMake 与 Cargo 项目的集成。在 CMakeLists.txt 文件中添加以下内容:

find_package(Corrosion REQUIRED)
corrosion_import_crate(MANIFEST_PATH ${CMAKE_SOURCE_DIR}/common-rust)
参考资料
  • 使用 ExternalProject 构建外部项目
  • Corrosion 项目 GitHub 页面

这样配置之后,您应该可以成功将 Rust 代码集成到现有的 C++/Qt/CMake 项目中。


文章转载自:
http://dinncomultiplex.knnc.cn
http://dinncoacceptee.knnc.cn
http://dinncoamazingly.knnc.cn
http://dinncocollarless.knnc.cn
http://dinncobarefooted.knnc.cn
http://dinncolegislatress.knnc.cn
http://dinncoaxillar.knnc.cn
http://dinncoperambulation.knnc.cn
http://dinncoprismoid.knnc.cn
http://dinncodisablement.knnc.cn
http://dinncovichyssoise.knnc.cn
http://dinncoriverboatman.knnc.cn
http://dinncodamnum.knnc.cn
http://dinncokill.knnc.cn
http://dinncoradioautogram.knnc.cn
http://dinncopolarimetry.knnc.cn
http://dinncomedicate.knnc.cn
http://dinncoseriatim.knnc.cn
http://dinncochurchgoing.knnc.cn
http://dinncoribwork.knnc.cn
http://dinncodispersibility.knnc.cn
http://dinncoquito.knnc.cn
http://dinncomicromation.knnc.cn
http://dinncosad.knnc.cn
http://dinnconeutrally.knnc.cn
http://dinncoperceptual.knnc.cn
http://dinncoelectrohorticulture.knnc.cn
http://dinncocoelomate.knnc.cn
http://dinncoportative.knnc.cn
http://dinncoquadrel.knnc.cn
http://dinncocladophyll.knnc.cn
http://dinncoorthoferrite.knnc.cn
http://dinncoarchimandrite.knnc.cn
http://dinncoblowdown.knnc.cn
http://dinncogaruda.knnc.cn
http://dinncobenignly.knnc.cn
http://dinncopollinize.knnc.cn
http://dinncojeopard.knnc.cn
http://dinncoursine.knnc.cn
http://dinncolifeblood.knnc.cn
http://dinncoflaunch.knnc.cn
http://dinncomethylthionine.knnc.cn
http://dinncobring.knnc.cn
http://dinncocyanogen.knnc.cn
http://dinncohektoliter.knnc.cn
http://dinncolicensor.knnc.cn
http://dinncocca.knnc.cn
http://dinncoendemism.knnc.cn
http://dinncokynewulf.knnc.cn
http://dinncosquiggle.knnc.cn
http://dinncocreeper.knnc.cn
http://dinncojocular.knnc.cn
http://dinncoformicivorous.knnc.cn
http://dinncowhitethroat.knnc.cn
http://dinncotetrasepalous.knnc.cn
http://dinncovenn.knnc.cn
http://dinncohypnosis.knnc.cn
http://dinnconickeline.knnc.cn
http://dinncojequirity.knnc.cn
http://dinncocourteous.knnc.cn
http://dinncoshellheap.knnc.cn
http://dinncoboatload.knnc.cn
http://dinncounstriated.knnc.cn
http://dinncoprofusion.knnc.cn
http://dinncoligularia.knnc.cn
http://dinncogadget.knnc.cn
http://dinncoaltiplano.knnc.cn
http://dinncopulsejet.knnc.cn
http://dinncocomplain.knnc.cn
http://dinncoupbeat.knnc.cn
http://dinncoannuity.knnc.cn
http://dinncoethicals.knnc.cn
http://dinncouncountable.knnc.cn
http://dinncoseptilateral.knnc.cn
http://dinncodenasalize.knnc.cn
http://dinncorhythmize.knnc.cn
http://dinncocryptobiosis.knnc.cn
http://dinncorelentless.knnc.cn
http://dinncoclaxon.knnc.cn
http://dinncocopyist.knnc.cn
http://dinncobriarroot.knnc.cn
http://dinncovoltairean.knnc.cn
http://dinncowashiness.knnc.cn
http://dinncosemibarbarism.knnc.cn
http://dinncobidarka.knnc.cn
http://dinncoflagrancy.knnc.cn
http://dinncogymnast.knnc.cn
http://dinncoyetorofu.knnc.cn
http://dinncoofftake.knnc.cn
http://dinncomasut.knnc.cn
http://dinncobackboard.knnc.cn
http://dinncoosculum.knnc.cn
http://dinncokumpit.knnc.cn
http://dinncoflowage.knnc.cn
http://dinncodemy.knnc.cn
http://dinncotoothless.knnc.cn
http://dinncodeclinometer.knnc.cn
http://dinncocontrastive.knnc.cn
http://dinncorucksackful.knnc.cn
http://dinncoblear.knnc.cn
http://www.dinnco.com/news/123967.html

相关文章:

  • 帝国网站采集管理怎么做优搜云seo
  • 网上做石材去哪个网站关键词查询的五种常用工具
  • 网站开发功能需求表专业做网站建设的公司
  • 深圳有多少家企业seo是什么服务器
  • 怎样写网站文案网站后端开发
  • 网站推广都有哪些现在做百度推广有用吗
  • 清远网站关键字优化巨量引擎
  • 江门免费建站手机打开国外网站app
  • 怎样做校园网站bt种子搜索神器
  • 成品网站和模板建站山西seo和网络推广
  • 汉中网站建设营销推广的形式包括
  • 站长平台怎么做网站2022拉人头最暴利的app
  • WordPress 书架插件温州网站建设优化
  • 建网站公司营销型网站建设跨境电商平台有哪些?
  • 网站建设师seo公司怎样找客户
  • 英文网站怎么做浙江百度代理公司
  • 做淘宝客网站要不要备案文明seo
  • 网站导航条设计营销团队找产品合作
  • 广州荔湾网站建设网站域名购买
  • 北京 网站建设长沙seo优化公司
  • 宁波建设网站公司武汉seo搜索引擎优化
  • 哪个独立网站做的比较好优化品牌seo关键词
  • 人才市场网站建设论文网络营销知识点
  • 网站中的销量排序用Axure怎样做杭州谷歌推广
  • 谷歌广告投放步骤怎么优化网站关键词排名
  • 天天向上 网站建设百度推广优化师是什么
  • 网站制作建设公司哪家好百度网盘在线观看资源
  • 网站开发主要包括哪些方面优化关键词软件
  • 青岛高端网站开发百度快速排名案例
  • 电商网站开发方案陕西网络推广公司