Отладка Rust с помощью JetBrains CLion IDE на Windows - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь заставить отладку Rust работать с отладчиком JetBrains.

Подобно этому вопросу , я заметил, что набор инструментов MSV C не поддерживается. Я следую инструкциям, доступным там и в блоге JetBrains , и получаю программу hello world для отладки, используя набор инструментов Cygwin для запуска и отладки.

Однако всякий раз, когда я использую ящик, который, как я полагаю, привязан к родному C / C ++, компоновщик дает сбой. Этот вывод является выводом, полученным при попытке использовать ящик ssh2 и выполнении команды D:/Programs/Rust/Cargo/bin/cargo.exe run --color=always --package rust_manual --bin rust_manual --verbose (без 80 предшествующих предупреждений):

error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
  |
  = note: "x86_64-w64-mingw32-gcc" "-fno-use-linker-plugin" "-Wl,--nxcompat" "-nostdlib" "-m64" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\crt2.o" "D:\\Programs\\
Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "-L" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "D:\\
Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.2il83ncbprx9skxc.rcgu.o" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.2tkb1dtkdvpzvru8.rcgu.o" "D:\\Documents\\rust_manual\\
target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.38mlr7whhiedxpa9.rcgu.o" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.3mv2p2964hms7hcw.rcgu.o" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rus
t_manual-e02c4017dbb04ce1.oyp82k1tv9dpo03.rcgu.o" "-o" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.exe" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.1n9qmwpghqvw10
ei.rcgu.o" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "D:\\Documents\\rust_manual\\target\\debug\\deps" "-L" "D:\\Programs\\Rust\\Cargo\\registry\\src\\github.com-1ecc6299db9ec823\\winapi-x86_64-pc-windows-gnu-0.4.0\\lib" "-L" "D:\\D
ocuments\\rust_manual\\target\\debug\\build\\libssh2-sys-611fa0ef83ad9897\\out\\build" "-L" "D:\\Documents\\rust_manual\\target\\debug\\build\\libz-sys-0bd5febd50380866\\out\\build" "-L" "D:\\Programs\\Rust\\Rustup\\toolchains\\stab
le-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-Wl,-Bstatic" "D:\\Documents\\rust_manual\\target\\debug\\deps\\liblinked_hash_map-8ccaf07e1678ba81.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libfs2-
7cdf4dce3545590b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libaes_gcm_siv-7f08f4ec229f0194.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libaes-9e69959843670351.rlib" "D:\\Documents\\rust_manual\\target\\debu
g\\deps\\libaes_soft-85e91b74f1d42369.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libbyteorder-59f20df4b329d08b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libopaque_debug-77ca4cb51d8100fa.rlib" "D:\\Document
s\\rust_manual\\target\\debug\\deps\\libzeroize-bab8662dce816576.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libpolyval-0f2876d6fb299760.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libuniversal_hash-295cab4c7
b6658eb.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libsubtle-19f12b0836f68a71.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libaead-ef3c7269241d4b63.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libb
lock_cipher-662444e0b79f5644.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libgeneric_array-8edaebd677632f76.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libtypenum-1251f48f890b7d62.rlib" "D:\\Documents\\rust_ma
nual\\target\\debug\\deps\\libserde_json-53f81e6916eb8e26.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libryu-c8e41e31d4a509cb.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libitoa-903fb6c5622b5617.rlib" "D:\\Do
cuments\\rust_manual\\target\\debug\\deps\\libserde-4d09c2dcdbb1d8b3.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libssh2-7df6425f87af870e.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libparking_lot-07aaede0978
bcf2e.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libparking_lot_core-476c2f592babd25d.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libsmallvec-5b2a8d31eb1a4c6d.rlib" "D:\\Documents\\rust_manual\\target\\debug
\\deps\\liblock_api-7a323e635f8733ad.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libscopeguard-6c6d401b1f6f82b5.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib" "D:\\Documents
\\rust_manual\\target\\debug\\deps\\liblibz_sys-5c6fdfaf87470695.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\librand-952ff6682f89685d.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\librand_chacha-0619462aab8ab8c
f.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libppv_lite86-dc7a8f001990536b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\librand_core-29c3a2129db92df7.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\l
ibgetrandom-60ce90fab31a9998.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libnotify-a3f8496c1768c614.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libwalkdir-01728b165c663904.rlib" "D:\\Documents\\rust_manual\\t
arget\\debug\\deps\\libsame_file-bade0aa981bdf286.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libwinapi_util-aa42252baaa29f06.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibc-408386b57fa89aa8.rlib" "D:\\Do
cuments\\rust_manual\\target\\debug\\deps\\libfiletime-85a1a02ff2eb4f83.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libwinapi-fc941a2b370d489b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libcfg_if-cf58d0d3cd0
e6fed.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libbitflags-288950b807dfd7f7.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libbase64-e64b24a18f7239bc.rlib" "-Wl,--start-group" "D:\\Programs\\Rust\\Rustup\\too
lchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd-447f0e6919e87703.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libpanic
_unwind-6691a7d28fd5ead6.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libhashbrown-ee4714732ebaf9a3.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_
64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-e062de0dbb254b6a.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libbac
ktrace-2bc81dc380687e4b.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libbacktrace_sys-53b5dac028b62d7c.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x
86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_demangle-cb491f3ffc25ac52.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libunwind-9499
c77410f0cb84.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcfg_if-cb2a1962c04b6646.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-g
nu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liblibc-c582a1654a681be9.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liballoc-2285fe2f7f9a72ec.rlib" "D:\\Progr
ams\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_core-1a51942af531248c.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\ru
stlib\\x86_64-pc-windows-gnu\\lib\\libcore-d7ecf429ccc8dc70.rlib" "-Wl,--end-group" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcompiler_builtins-4fc9e886634ace
c6.rlib" "-Wl,-Bdynamic" "-lbcrypt" "-lcrypt32" "-luser32" "-lntdll" "-ladvapi32" "-lwinapi_advapi32" "-lwinapi_cfgmgr32" "-lwinapi_fwpuclnt" "-lwinapi_gdi32" "-lwinapi_kernel32" "-lwinapi_msimg32" "-lwinapi_ntdll" "-lwinapi_opengl3
2" "-lwinapi_synchronization" "-lwinapi_user32" "-lwinapi_winspool" "-lwinapi_ws2_32" "-ladvapi32" "-lws2_32" "-luserenv" "-lmingwex" "-lmingw32" "-lmsvcrt" "-lmsvcrt" "-luser32" "-lkernel32" "-lgcc_eh" "-l:libpthread.a" "-lgcc" "-l
msvcrt" "-lkernel32" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
  = note: ld: cannot find -lntdll
 
 
error: aborting due to previous error; 80 warnings emitted
 
error: could not compile `rust_manual`.
 
Caused by:
  process didn't exit successfully: `rustc --crate-name rust_manual --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=e02c4017dbb04ce1 -C
extra-filename=-e02c4017dbb04ce1 --out-dir D:\Documents\rust_manual\target\debug\deps -C incremental=D:\Documents\rust_manual\target\debug\incremental -L dependency=D:\Documents\rust_manual\target\debug\deps --extern aes_gcm=D:\Docu
ments\rust_manual\target\debug\deps\libaes_gcm-46686bd39b60c02f.rlib --extern aes_gcm_siv=D:\Documents\rust_manual\target\debug\deps\libaes_gcm_siv-7f08f4ec229f0194.rlib --extern base64=D:\Documents\rust_manual\target\debug\deps\lib
base64-e64b24a18f7239bc.rlib --extern fs2=D:\Documents\rust_manual\target\debug\deps\libfs2-7cdf4dce3545590b.rlib --extern linked_hash_map=D:\Documents\rust_manual\target\debug\deps\liblinked_hash_map-8ccaf07e1678ba81.rlib --extern
notify=D:\Documents\rust_manual\target\debug\deps\libnotify-a3f8496c1768c614.rlib --extern rand=D:\Documents\rust_manual\target\debug\deps\librand-952ff6682f89685d.rlib --extern rand_core=D:\Documents\rust_manual\target\debug\deps\l
ibrand_core-29c3a2129db92df7.rlib --extern serde=D:\Documents\rust_manual\target\debug\deps\libserde-4d09c2dcdbb1d8b3.rlib --extern serde_json=D:\Documents\rust_manual\target\debug\deps\libserde_json-53f81e6916eb8e26.rlib --extern s
sh2=D:\Documents\rust_manual\target\debug\deps\libssh2-7df6425f87af870e.rlib -L native=D:\Programs\Rust\Cargo\registry\src\github.com-1ecc6299db9ec823\winapi-x86_64-pc-windows-gnu-0.4.0\lib -L native=D:\Documents\rust_manual\target\
debug\build\libssh2-sys-611fa0ef83ad9897\out\build -L native=D:\Documents\rust_manual\target\debug\build\libz-sys-0bd5febd50380866\out\build` (exit code: 1)

Причина этой ошибки, я Поверьте, кратко изложено в файле G CC -WARNING.txt:

gcc.exe contained in this folder cannot be used for compiling C files - it is only used as a linker. In order to be able to compile projects containing C code use the GCC provided by MinGW or Cygwin.

Я попытался настроить цепочку инструментов на использование правильного компоновщика. Документация car go говорит, что файл конфигурации позволяет мне сделать это со следующими строками:

[target.x86_64-pc-windows-gnu]
linker = "D:\\Programs\\Cygwin\\bin\\gcc.exe" 

Опять же, это отлично работает без контейнера ssh2, но не работает с следующий вывод, когда ящик включен;

error: linking with `D:\Programs\Cygwin\bin\gcc.exe` failed: exit code: 1
  |
  = note: "D:\\Programs\\Cygwin\\bin\\gcc.exe" "-fno-use-linker-plugin" "-Wl,--nxcompat" "-nostdlib" "-m64" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\crt2.o" "D:
\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "-L" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu
\\lib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.2il83ncbprx9skxc.rcgu.o" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.2tkb1dtkdvpzvru8.rcgu.o" "D:\\Documents\\r
ust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.38mlr7whhiedxpa9.rcgu.o" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.3mv2p2964hms7hcw.rcgu.o" "D:\\Documents\\rust_manual\\target\\debu
g\\deps\\rust_manual-e02c4017dbb04ce1.oyp82k1tv9dpo03.rcgu.o" "-o" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.exe" "D:\\Documents\\rust_manual\\target\\debug\\deps\\rust_manual-e02c4017dbb04ce1.1n
9qmwpghqvw10ei.rcgu.o" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "D:\\Documents\\rust_manual\\target\\debug\\deps" "-L" "D:\\Programs\\Rust\\Cargo\\registry\\src\\github.com-1ecc6299db9ec823\\winapi-x86_64-pc-windows-gnu-0.4.0\\lib"
 "-L" "D:\\Documents\\rust_manual\\target\\debug\\build\\libssh2-sys-611fa0ef83ad9897\\out\\build" "-L" "D:\\Documents\\rust_manual\\target\\debug\\build\\libz-sys-0bd5febd50380866\\out\\build" "-L" "D:\\Programs\\Rust\\Rustup\\tool
chains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-Wl,-Bstatic" "D:\\Documents\\rust_manual\\target\\debug\\deps\\liblinked_hash_map-8ccaf07e1678ba81.rlib" "D:\\Documents\\rust_manual\\target\\debug\\d
eps\\libfs2-7cdf4dce3545590b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libaes_gcm_siv-7f08f4ec229f0194.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libaes-9e69959843670351.rlib" "D:\\Documents\\rust_manual\\
target\\debug\\deps\\libaes_soft-85e91b74f1d42369.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libbyteorder-59f20df4b329d08b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libopaque_debug-77ca4cb51d8100fa.rlib" "
D:\\Documents\\rust_manual\\target\\debug\\deps\\libzeroize-bab8662dce816576.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libpolyval-0f2876d6fb299760.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libuniversal_ha
sh-295cab4c7b6658eb.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libsubtle-19f12b0836f68a71.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libaead-ef3c7269241d4b63.rlib" "D:\\Documents\\rust_manual\\target\\debug
\\deps\\libblock_cipher-662444e0b79f5644.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libgeneric_array-8edaebd677632f76.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libtypenum-1251f48f890b7d62.rlib" "D:\\Docume
nts\\rust_manual\\target\\debug\\deps\\libserde_json-53f81e6916eb8e26.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libryu-c8e41e31d4a509cb.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libitoa-903fb6c5622b5617.r
lib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libserde-4d09c2dcdbb1d8b3.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libssh2-7df6425f87af870e.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libparking_lot
-07aaede0978bcf2e.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libparking_lot_core-476c2f592babd25d.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libsmallvec-5b2a8d31eb1a4c6d.rlib" "D:\\Documents\\rust_manual\\t
arget\\debug\\deps\\liblock_api-7a323e635f8733ad.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libscopeguard-6c6d401b1f6f82b5.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib" "D
:\\Documents\\rust_manual\\target\\debug\\deps\\liblibz_sys-5c6fdfaf87470695.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\librand-952ff6682f89685d.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\librand_chacha-061
9462aab8ab8cf.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libppv_lite86-dc7a8f001990536b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\librand_core-29c3a2129db92df7.rlib" "D:\\Documents\\rust_manual\\target\\de
bug\\deps\\libgetrandom-60ce90fab31a9998.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libnotify-a3f8496c1768c614.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libwalkdir-01728b165c663904.rlib" "D:\\Documents\\ru
st_manual\\target\\debug\\deps\\libsame_file-bade0aa981bdf286.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libwinapi_util-aa42252baaa29f06.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibc-408386b57fa89aa8.r
lib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libfiletime-85a1a02ff2eb4f83.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libwinapi-fc941a2b370d489b.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libcfg_if
-cf58d0d3cd0e6fed.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libbitflags-288950b807dfd7f7.rlib" "D:\\Documents\\rust_manual\\target\\debug\\deps\\libbase64-e64b24a18f7239bc.rlib" "-Wl,--start-group" "D:\\Programs\\Rust\
\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd-447f0e6919e87703.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\l
ib\\libpanic_unwind-6691a7d28fd5ead6.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libhashbrown-ee4714732ebaf9a3.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\
\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-e062de0dbb254b6a.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\
\lib\\libbacktrace-2bc81dc380687e4b.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libbacktrace_sys-53b5dac028b62d7c.rlib" "D:\\Programs\\Rust\\Rustup\\toolchai
ns\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_demangle-cb491f3ffc25ac52.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\li
bunwind-9499c77410f0cb84.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcfg_if-cb2a1962c04b6646.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-
pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liblibc-c582a1654a681be9.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liballoc-2285fe2f7f9a72ec.rlib
" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_core-1a51942af531248c.rlib" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-
gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcore-d7ecf429ccc8dc70.rlib" "-Wl,--end-group" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcompiler_builtins-4f
c9e886634acec6.rlib" "-Wl,-Bdynamic" "-lbcrypt" "-lcrypt32" "-luser32" "-lntdll" "-ladvapi32" "-lwinapi_advapi32" "-lwinapi_cfgmgr32" "-lwinapi_fwpuclnt" "-lwinapi_gdi32" "-lwinapi_kernel32" "-lwinapi_msimg32" "-lwinapi_ntdll" "-lwi
napi_opengl32" "-lwinapi_synchronization" "-lwinapi_user32" "-lwinapi_winspool" "-lwinapi_ws2_32" "-ladvapi32" "-lws2_32" "-luserenv" "-lmingwex" "-lmingw32" "-lmsvcrt" "-lmsvcrt" "-luser32" "-lkernel32" "-lgcc_eh" "-l:libpthread.a"
 "-lgcc" "-lmsvcrt" "-lkernel32" "D:\\Programs\\Rust\\Rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
  = note: /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(channel.o): in function `_libssh2_channel_free':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/channel.c:2723: undefined reference to `__assert_func'
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/channel.c:2723:(.text$_libssh2_channel_free+0x3a): relocation truncated to fit: R_X86_64_PC32 against undefined symbol
 `__assert_func'
          /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(sftp.o): in function `sftp_init':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:790: undefined reference to `__assert_func'
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:790:(.text$sftp_init+0x48): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__assert_func'
          /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(sftp.o): in function `sftp_read':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:1459: undefined reference to `__assert_func'
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:1459:(.text$sftp_read+0x23a): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__assert_fun
c'
          /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:1460: undefined reference to `__assert
_func'
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:1460:(.text$sftp_read+0x26c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__assert_fun
c'
          /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:1720: undefined reference to `__assert
_func'
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:1720:(.text$sftp_read+0x968): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__assert_fun
c'
          /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(sftp.o):/cygdrive/d/Programs/Rust/Cargo/registry/src/github.com
-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:2648: more undefined references to `__assert_func' follow
          D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(sftp.o): in function `sftp_close_handle':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/sftp.c:2648:(.text$sftp_close_handle+0x305): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__as
sert_func'
          D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(transport.o): in function `decrypt':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/transport.c:139:(.text$decrypt+0x63): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__assert_fu
nc'
          D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(transport.o): in function `_libssh2_transport_read':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/transport.c:349:(.text$_libssh2_transport_read+0x13c): relocation truncated to fit: R_X86_64_PC32 against undefined sy
mbol `__assert_func'
          /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(userauth.o): in function `memory_read_publickey':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/userauth.c:511: undefined reference to `__locale_ctype_ptr'
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/userauth.c:511:(.text$memory_read_publickey+0xaa): relocation truncated to fit: R_X86_64_PC32 against undefined symbol
 `__locale_ctype_ptr'
          /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: D:\\Documents\\rust_manual\\target\\debug\\deps\\liblibssh2_sys-b34136eee9b6d61b.rlib(userauth.o): in function `file_read_publickey':
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/userauth.c:613: undefined reference to `__locale_ctype_ptr'
          /cygdrive/d/Programs/Rust/Cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.18/libssh2/src/userauth.c:613:(.text$file_read_publickey+0x1a5): relocation truncated to fit: R_X86_64_PC32 against undefined symbol
`__locale_ctype_ptr'
          collect2: error: ld returned 1 exit status


error: aborting due to previous error; 80 warnings emitted

error: could not compile `rust_manual`.

Caused by:
  process didn't exit successfully: `rustc --crate-name rust_manual --edition=2018 src\main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=e02c4017dbb04ce1 -C
extra-filename=-e02c4017dbb04ce1 --out-dir D:\Documents\rust_manual\target\debug\deps -C linker=D:\Programs\Cygwin\bin\gcc.exe -C incremental=D:\Documents\rust_manual\target\debug\incremental -L dependency=D:\Documents\rust_manual\t
arget\debug\deps --extern aes_gcm=D:\Documents\rust_manual\target\debug\deps\libaes_gcm-46686bd39b60c02f.rlib --extern aes_gcm_siv=D:\Documents\rust_manual\target\debug\deps\libaes_gcm_siv-7f08f4ec229f0194.rlib --extern base64=D:\Do
cuments\rust_manual\target\debug\deps\libbase64-e64b24a18f7239bc.rlib --extern fs2=D:\Documents\rust_manual\target\debug\deps\libfs2-7cdf4dce3545590b.rlib --extern linked_hash_map=D:\Documents\rust_manual\target\debug\deps\liblinked
_hash_map-8ccaf07e1678ba81.rlib --extern notify=D:\Documents\rust_manual\target\debug\deps\libnotify-a3f8496c1768c614.rlib --extern rand=D:\Documents\rust_manual\target\debug\deps\librand-952ff6682f89685d.rlib --extern rand_core=D:\
Documents\rust_manual\target\debug\deps\librand_core-29c3a2129db92df7.rlib --extern serde=D:\Documents\rust_manual\target\debug\deps\libserde-4d09c2dcdbb1d8b3.rlib --extern serde_json=D:\Documents\rust_manual\target\debug\deps\libse
rde_json-53f81e6916eb8e26.rlib --extern ssh2=D:\Documents\rust_manual\target\debug\deps\libssh2-7df6425f87af870e.rlib -L native=D:\Programs\Rust\Cargo\registry\src\github.com-1ecc6299db9ec823\winapi-x86_64-pc-windows-gnu-0.4.0\lib -
L native=D:\Documents\rust_manual\target\debug\build\libssh2-sys-611fa0ef83ad9897\out\build -L native=D:\Documents\rust_manual\target\debug\build\libz-sys-0bd5febd50380866\out\build` (exit code: 1)

Вывод показывает мне, что Rust не связывает правильные файлы. Однако я не знаю, как это решить. Я попытался найти в Интернете похожие проблемы, но не смог найти ни одной из них. Если я что-то пропустил, не стесняйтесь указать мне правильное направление.

Заявления об отказе от ответственности:

  • Основная цель этого вопроса - получить отладку при работе JetBrains CLion . Таким образом, приветствуются альтернативные способы достижения этого, помимо моих текущих попыток.

  • Я новичок в Rust и имею ограниченные знания о компиляторах и компоновщиках C / C ++. *

...