首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译bevy_dylib v0.5.0错误:用‘Compiling’失败链接:退出状态:1

编译bevy_dylib v0.5.0错误:用‘Compiling’失败链接:退出状态:1
EN

Stack Overflow用户
提问于 2021-12-08 23:40:08
回答 1查看 1.5K关注 0票数 2

在刚升级到蒙特利的Mac上,当我尝试cargo run一个琐碎的贝维程序时,我得到了以下内容。我重新安装了XCode CLT,就像推荐的here和其他地方一样。我试过和一些cargo.yml混在一起,但没有成功。

代码语言:javascript
复制
   Compiling bevy_dylib v0.5.0
error: linking with `cc` failed: exit status: 1
 note: "cc" "-Wl,-exported_symbols_list,/var/folders/rp/lky8r76j5v5dk0rqg_yzk35w0000gn/T/rustcDYBmaq/list" 
"-m64" "-arch" "x86_64" <......... many pages of warnings>
ld: warning: object file (/Users/BWStearns/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-glsl-to-spirv-0.2.1/build/osx/libSPIRV-Tools-opt.glsltospirv.a(const_folding_rules.cpp.o)) was built for newer macOS version (10.13) than being linked (10.7)
<many more pages of warnings>
            "_CGDisplayCreateUUIDFromDisplayID", referenced from:
                _$LT$winit..platform_impl..platform..monitor..MonitorHandle$u20$as$u20$core..cmp..PartialEq$GT$::eq::h541b069daf520ec9 in libwinit-4f8b93ad49cc21f8.rlib(winit-4f8b93ad49cc21f8.winit.355ded65-cgu.6.rcgu.o)
                _$LT$winit..platform_impl..platform..monitor..MonitorHandle$u20$as$u20$core..cmp..Ord$GT$::cmp::h951d61f6bd1d7a5f in libwinit-4f8b93ad49cc21f8.rlib(winit-4f8b93ad49cc21f8.winit.355ded65-cgu.6.rcgu.o)
                winit::platform_impl::platform::monitor::MonitorHandle::ns_screen::h3207f8aed4eae22f in libwinit-4f8b93ad49cc21f8.rlib(winit-4f8b93ad49cc21f8.winit.355ded65-cgu.6.rcgu.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `bevy_dylib` due to previous error

cargo.yml是这样的:

代码语言:javascript
复制
[package]
name = "my_bevy_game"
version = "0.1.0"
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
bevy = { version = "0.5.0", features = ["dynamic"] }

从这周开始我就碰到这个了。我很确定,几周前,这个精确的代码编译得很好。任何帮助都将不胜感激。

main.rs看起来就像

代码语言:javascript
复制
use bevy::prelude::*;

struct Person;

struct Name(String);

fn add_people(mut commands: Commands) {
    commands.spawn().insert(Person).insert(Name("Elaina Proctor".to_string()));
    commands.spawn().insert(Person).insert(Name("Renzo Hume".to_string()));
    commands.spawn().insert(Person).insert(Name("Zayna Nieves".to_string()));
}

fn greet_people(query: Query<&Name, With<Person>>) {
    for name in query.iter() {
        println!("hello {}!", name.0);
    }
}

pub struct HelloPlugin;

impl Plugin for HelloPlugin {
    fn build(&self, app: &mut AppBuilder) {
        app.add_startup_system(add_people.system())
            .add_system(greet_people.system());
    }
}

fn main() {
    App::build()
        .add_plugins(DefaultPlugins)
        .add_plugin(HelloPlugin)
        .run();
}

更新:

肯定是关于我的机器上的环境,因为在不同的macbook上,它工作得很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-10 22:13:23

因此,我找到了一个解决方案,如果您发现了这个问题,并且代码可以在其他机器上工作。用rustup self uninstall卸载锈蚀,然后用标准脚本curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh重命名,然后您就会很好了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70283054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档