#rust #gtk-rs
#Ржавчина #gtk-rs
Вопрос:
Итак, я настроил GTK-rs для rust, и я, должно быть, сделал что-то не так, потому что, когда я пытаюсь запустить свой код, он возвращает эту ошибку, и я понятия не имею, как это исправить:
fatal error LNK1181: cannot open input file 'gtk-3.lib'
Я использую Eclipse IDE, если это поможет.
Еще некоторые данные, которые могут помочь:
Мои переменные среды:
GTK_LIB_DIR=C:msys64mingw64lib
PATH:
C:msys64mingw64bin
C:msys64mingw64include
Мой файл Cargo.toml:
[package]
name = "myapp"
version = "0.1.0"
authors = ["author"]
edition = "2018"
[dependencies.gtk]
version = "0.9.2"
features = ["v3_16"]
[dependencies]
glib = "0.10.2"
gio = "0.9.1"
Я использовал несколько измененных примеров кода для тестирования:
#![allow(non_snake_case)]
extern crate gtk;
extern crate glib;
extern crate gio;
use gio::prelude::*;
use glib::clone;
use gtk::prelude::*;
// When the application is launched…
fn on_activate(application: amp;gtk::Application) {
// … create a new window …
let window = gtk::ApplicationWindow::new(application);
// … with a button in it …
let button = gtk::Button::with_label("Hello World!");
// … which closes the window when clicked
button.connect_clicked(clone!(@weak window => move |_| window.close()));
window.add(amp;button);
window.show_all();
}
fn main() {
// Create a new application
let app = gtk::Application::new(Some("com.github.gtk-rs.examples.basic"), Default::default())
.expect("Initialization failed...");
app.connect_activate(|app| on_activate(app));
// Run the application
app.run(amp;std::env::args().collect::<Vec<_>>());
}
Ответ №1:
У меня была такая же проблема с «link.exe » при использовании привязок gstreamer и gtk Rust. Вот что я сделал, чтобы скомпилировать свою программу.
Загрузите средства сборки Microsoft и установите следующее в дополнение к инструментам «по умолчанию», которые устанавливаются при проверке «Средства сборки C «.
Параметры MS Build Tools — кредит https://github.com/rust-lang/rust/issues/44787
После установки убедитесь, что «C:Program Files (x86) Microsoft Visual Studio 2019 BuildTools VC Tools MSVC <Версия VC> bin Hostx64 x64» находится в вашем пути к среде.
Перезагрузите компьютер и повторите попытку компиляции. Надеюсь, это сработает. Однако, если это все еще не так, я рекомендую удалить Rust из powershell
rustup self uninstall
А затем переустановить Rust из rustup.exe таким образом.
-
Выполнить rustup.exe
-
При появлении запроса с опцией установки выберите «настроить установку»
-
Для опции «тройки хоста по умолчанию» введите
стабильный-x86_64-pc-windows-gnu
-
Нажмите enter для остальных параметров по умолчанию и продолжайте установку.
Перезагрузите компьютер, и программа обязательно скомпилируется.
Комментарии:
1. Это не решает проблему — даже невозможно следовать этим инструкциям, поскольку указанные вами параметры отсутствуют в текущем индексе рабочей нагрузки.
2. @BadZen Что вы вообще подразумеваете под «индексом текущей рабочей нагрузки»?