Rust(货物)将问题与C+&#x2B链接起来(CMAKE) - 无效的CPP项目目标拱门

发布于 2025-01-24 19:30:29 字数 10360 浏览 3 评论 0原文

我是C ++开发人员,我想学习Rust语言。

Rust项目应与C ++(CMAKE和CONAN Manager)编写的现有项目合作。

我找到了一个方法的示例: https://github.com/kathog/kathog/cargo_cmake_conan

不幸的是,这个项目对我不起作用。 错误:

error: linking with `link.exe` failed: exit code: 1319
  |
  = note: "E:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.31.31103\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.103m0d0oo5qceqku.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.1vgpv92qkfa563gd.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.2ik8snn5mwamdgag.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.2mdo6ws1qgtjq2t4.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4beqpjo0j7ggezr6.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4e3bl7yv0c25juve.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4v6e98a2pivauioz.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4v8v6hax3lg456p2.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.50pke6nqplfdth5s.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.5cs02h5ws23vasvh.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.m50k5pz60cqstvz.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.1r6tdfkuofwhrvl5.rcgu.o" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\cargo_cmake_conan-ae3c43dc13dd8a64\\out" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\cargo_cmake_conan-ae3c43dc13dd8a64\\out" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\cxx-61894c0d92cd12fe\\out" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\link-cplusplus-3cc8a465f5e91360\\out" "/LIBPATH:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "cargo-cmake-conan.lib" "regexp_pcre_lib.lib" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\libcxx-754807c1d543514b.rlib" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\liblink_cplusplus-c69868dc83e46a6d.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-13da5b615652700a.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-a8b831d76b475a05.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-b1b7dd98d9f9a4a1.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_detect-4af739ef7bf469f3.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-3eed3508b3703ba6.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libminiz_oxide-050ce0e104c2a309.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libadler-8b143218bffc06cf.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-2d4fc4aa13bade5c.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-310f6aa0f05a13a7.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcfg_if-7fb7d195e12cf988.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-4c39873e011bda7c.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-daf862f55e1277f3.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-665ed95809278e59.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-c2100e40c13f915d.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-493ea9231a9eccf5.rlib" "advapi32.lib" "userenv.lib" "kernel32.lib" "ws2_32.lib" "bcrypt.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.exe" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis"
  = note: Non-UTF-8 output: regexp_pcre_lib.lib(lib.obj) : error LNK2038: wykryto niezgodno\x98\x86 dla elementu \"_ITERATOR_DEBUG_LEVEL\": warto\x98\x86 \"2\" jest niezgodna z warto\x98ci\xa5 \"0\" w elemencie cargo-cmake-conan.lib(main.rs.o)\r\nregexp_pcre_lib.lib(lib.obj) : error LNK2038: wykryto niezgodno\x98\x86 dla elementu \"RuntimeLibrary\": warto\x98\x86 \"MDd_DynamicDebug\" jest niezgodna z warto\x98ci\xa5 \"MD_DynamicRelease\" w elemencie cargo-cmake-conan.lib(main.rs.o)\r\nLINK : warning LNK4098: domy\x98lna biblioteka \"MSVCRTD\" powoduje konflikt z innymi bibliotekami; u\xbeyj opcji /NODEFAULTLIB:biblioteka\r\nE:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.exe : fatal error LNK1319: Liczba wykrytych niezgodno\x98ci: 2\r\n

如您所见,用CXX(CMAKE)编写的库的目标体系结构存在问题。

我试图明确定义目标体系结构:

let dst = Config::new("regexp_pcre")
    .define("COMPILE_TARGET", "DESKTOP_x86_64")
    .build();
  • :Windows 11
  • oftly(EDFFC4ADA 2022-04-19)
  • RUSTC:1.62.0-oftly(18F314E70 2022-04-24)
  • 货物:1.62.0 -
  • OS :3.22.1

命令“货物构建”在“开发人员命令提示vs vs 2022”中发出。

示例项目中评论了一行 - 编译器不应纠缠:

//.compiler("clang++")

仍然存在同样的问题。 知道如何解决吗?

#edit

我找到了一条行不起作用的行:

set CARGO=\\?\C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\cargo.exe&&
 set CARGO_BIN_NAME=cargo_cmake_conan&&
 set CARGO_CRATE_NAME=cargo_cmake_conan&&
 set CARGO_MANIFEST_DIR=E:\Projects\cargo_cmake_conan&&
 set CARGO_PKG_AUTHORS="Daniel <[email protected]>"&&
 set CARGO_PKG_DESCRIPTION=""&&
 set CARGO_PKG_HOMEPAGE=""&&
 set CARGO_PKG_LICENSE=""&&
 set CARGO_PKG_LICENSE_FILE=""&&
 set CARGO_PKG_NAME=cargo_cmake_conan&&
 set CARGO_PKG_REPOSITORY=""&&
 set CARGO_PKG_VERSION=0.1.0&&
 set CARGO_PKG_VERSION_MAJOR=0&&
 set CARGO_PKG_VERSION_MINOR=1&&
 set CARGO_PKG_VERSION_PATCH=0&&
 set CARGO_PKG_VERSION_PRE=""&&
 set CARGO_PRIMARY_PACKAGE=1&&
 set OUT_DIR=E:\Projects\cargo_cmake_conan\target\release\build\cargo_cmake_conan-3f88e515ac5fc027\out&&
 set PATH="E:\Projects\cargo_cmake_conan\target\release\deps;C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Users\trix\.cargo\bin;C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Program Files\Oculus\Support\oculus-runtime;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;E:\Program Files\Git\cmd;E:\Program Files\TortoiseGit\bin;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\dotnet\;C:\Users\trix\.cargo\bin;G:\Program Files\Conan\conan;E:\IT\emsdk;E:\IT\emsdk\node\14.18.2_64bit\bin;E:\IT\emsdk\upstream\emscripten;C:\Users\trix\AppData\Local\Microsoft\WindowsApps;E:\Program Files\PostgreSQL\9.4\bin;E:\Program Files\Microsoft VS Code\bin;E:\Program Files\CMake\bin;E:\Program Files\LLVM\bin;C:\Users\trix\.dotnet\tools"&&
 rustc --crate-name cargo_cmake_conan --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=0e12905fd05363cb --out-dir E:\Projects\cargo_cmake_conan\target\release\deps -L dependency=E:\Projects\cargo_cmake_conan\target\release\deps --extern cxx=E:\Projects\cargo_cmake_conan\target\release\deps\libcxx-506cecc7e737d79e.rlib -L native=E:\Projects\cargo_cmake_conan\target\release\build\cargo_cmake_conan-3f88e515ac5fc027\out -L native=E:\Projects\cargo_cmake_conan\target\release\build\cargo_cmake_conan-3f88e515ac5fc027\out -l static=cargo-cmake-conan -l regexp_pcre_lib -L native=E:\Projects\cargo_cmake_conan\target\release\build\cxx-1453aa68af9ba060\out -L native=E:\Projects\cargo_cmake_conan\target\release\build\link-cplusplus-c5e33ac7f6a014a6\out

此命令的结果:

'rustc' is not recognized as an internal or external command,
operable program or batch file.

路径变量被覆盖,有一个指向Rustc的路径:

C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin

当我设置时:

SET PATH="C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin"

识别Rustc ...

但是当我设置

SET PATH="C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;"

';';'';'最后,添加了RUSTC的认可... 为什么?

I am a C++ developer and I want to learn Rust language.

The Rust project should work in cooperation with an existing project written in C++ (CMake and Conan manager).

I found an example of how to do this:
https://github.com/kathog/cargo_cmake_conan

Unfortunately, this project doesn't work for me.
Errors:

error: linking with `link.exe` failed: exit code: 1319
  |
  = note: "E:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.31.31103\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.103m0d0oo5qceqku.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.1vgpv92qkfa563gd.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.2ik8snn5mwamdgag.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.2mdo6ws1qgtjq2t4.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4beqpjo0j7ggezr6.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4e3bl7yv0c25juve.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4v6e98a2pivauioz.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.4v8v6hax3lg456p2.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.50pke6nqplfdth5s.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.5cs02h5ws23vasvh.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.m50k5pz60cqstvz.rcgu.o" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.1r6tdfkuofwhrvl5.rcgu.o" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\cargo_cmake_conan-ae3c43dc13dd8a64\\out" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\cargo_cmake_conan-ae3c43dc13dd8a64\\out" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\cxx-61894c0d92cd12fe\\out" "/LIBPATH:E:\\Projects\\cargo_cmake_conan\\target\\debug\\build\\link-cplusplus-3cc8a465f5e91360\\out" "/LIBPATH:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "cargo-cmake-conan.lib" "regexp_pcre_lib.lib" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\libcxx-754807c1d543514b.rlib" "E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\liblink_cplusplus-c69868dc83e46a6d.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-13da5b615652700a.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-a8b831d76b475a05.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-b1b7dd98d9f9a4a1.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_detect-4af739ef7bf469f3.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-3eed3508b3703ba6.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libminiz_oxide-050ce0e104c2a309.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libadler-8b143218bffc06cf.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-2d4fc4aa13bade5c.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-310f6aa0f05a13a7.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcfg_if-7fb7d195e12cf988.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-4c39873e011bda7c.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-daf862f55e1277f3.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-665ed95809278e59.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-c2100e40c13f915d.rlib" "C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-493ea9231a9eccf5.rlib" "advapi32.lib" "userenv.lib" "kernel32.lib" "ws2_32.lib" "bcrypt.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:E:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.exe" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\trix\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis"
  = note: Non-UTF-8 output: regexp_pcre_lib.lib(lib.obj) : error LNK2038: wykryto niezgodno\x98\x86 dla elementu \"_ITERATOR_DEBUG_LEVEL\": warto\x98\x86 \"2\" jest niezgodna z warto\x98ci\xa5 \"0\" w elemencie cargo-cmake-conan.lib(main.rs.o)\r\nregexp_pcre_lib.lib(lib.obj) : error LNK2038: wykryto niezgodno\x98\x86 dla elementu \"RuntimeLibrary\": warto\x98\x86 \"MDd_DynamicDebug\" jest niezgodna z warto\x98ci\xa5 \"MD_DynamicRelease\" w elemencie cargo-cmake-conan.lib(main.rs.o)\r\nLINK : warning LNK4098: domy\x98lna biblioteka \"MSVCRTD\" powoduje konflikt z innymi bibliotekami; u\xbeyj opcji /NODEFAULTLIB:biblioteka\r\nE:\\Projects\\cargo_cmake_conan\\target\\debug\\deps\\cargo_cmake_conan.exe : fatal error LNK1319: Liczba wykrytych niezgodno\x98ci: 2\r\n

As you can see, there is a problem with the target architecture of the library written in CXX (CMake).

I have tried to explicitly define the target architecture:

let dst = Config::new("regexp_pcre")
    .define("COMPILE_TARGET", "DESKTOP_x86_64")
    .build();
  • OS: Windows 11
  • Cargo: 1.62.0-nightly (edffc4ada 2022-04-19)
  • Rustc: 1.62.0-nightly (18f314e70 2022-04-24)
  • Visual studio: 2022 Community
  • CMake: 3.22.1

Command "cargo build" was issued in "Developer Command Prompt for VS 2022".

One line was commented out in the example project - the compiler should not be Clang:

//.compiler("clang++")

Still the same problem.
Any idea how to fix it?

#edit

I found a line that doesn't work:

set CARGO=\\?\C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\cargo.exe&&
 set CARGO_BIN_NAME=cargo_cmake_conan&&
 set CARGO_CRATE_NAME=cargo_cmake_conan&&
 set CARGO_MANIFEST_DIR=E:\Projects\cargo_cmake_conan&&
 set CARGO_PKG_AUTHORS="Daniel <[email protected]>"&&
 set CARGO_PKG_DESCRIPTION=""&&
 set CARGO_PKG_HOMEPAGE=""&&
 set CARGO_PKG_LICENSE=""&&
 set CARGO_PKG_LICENSE_FILE=""&&
 set CARGO_PKG_NAME=cargo_cmake_conan&&
 set CARGO_PKG_REPOSITORY=""&&
 set CARGO_PKG_VERSION=0.1.0&&
 set CARGO_PKG_VERSION_MAJOR=0&&
 set CARGO_PKG_VERSION_MINOR=1&&
 set CARGO_PKG_VERSION_PATCH=0&&
 set CARGO_PKG_VERSION_PRE=""&&
 set CARGO_PRIMARY_PACKAGE=1&&
 set OUT_DIR=E:\Projects\cargo_cmake_conan\target\release\build\cargo_cmake_conan-3f88e515ac5fc027\out&&
 set PATH="E:\Projects\cargo_cmake_conan\target\release\deps;C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Users\trix\.cargo\bin;C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;C:\Program Files\Oculus\Support\oculus-runtime;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;E:\Program Files\Git\cmd;E:\Program Files\TortoiseGit\bin;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\dotnet\;C:\Users\trix\.cargo\bin;G:\Program Files\Conan\conan;E:\IT\emsdk;E:\IT\emsdk\node\14.18.2_64bit\bin;E:\IT\emsdk\upstream\emscripten;C:\Users\trix\AppData\Local\Microsoft\WindowsApps;E:\Program Files\PostgreSQL\9.4\bin;E:\Program Files\Microsoft VS Code\bin;E:\Program Files\CMake\bin;E:\Program Files\LLVM\bin;C:\Users\trix\.dotnet\tools"&&
 rustc --crate-name cargo_cmake_conan --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=0e12905fd05363cb --out-dir E:\Projects\cargo_cmake_conan\target\release\deps -L dependency=E:\Projects\cargo_cmake_conan\target\release\deps --extern cxx=E:\Projects\cargo_cmake_conan\target\release\deps\libcxx-506cecc7e737d79e.rlib -L native=E:\Projects\cargo_cmake_conan\target\release\build\cargo_cmake_conan-3f88e515ac5fc027\out -L native=E:\Projects\cargo_cmake_conan\target\release\build\cargo_cmake_conan-3f88e515ac5fc027\out -l static=cargo-cmake-conan -l regexp_pcre_lib -L native=E:\Projects\cargo_cmake_conan\target\release\build\cxx-1453aa68af9ba060\out -L native=E:\Projects\cargo_cmake_conan\target\release\build\link-cplusplus-c5e33ac7f6a014a6\out

result of this command:

'rustc' is not recognized as an internal or external command,
operable program or batch file.

The PATH variable is overwritten and there is a path pointing to rustc:

C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin

When I set:

SET PATH="C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin"

rustc is recognized...

but when I set

SET PATH="C:\Users\trix\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin;"

';' at the end it was added, the rustc is not recognized...
why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文