Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I keep getting this link related error after building it using the hello world example #1040

Closed
Joe23232 opened this issue Sep 13, 2021 · 1 comment

Comments

@Joe23232
Copy link

So from the hello world example

This is my code:

use iced::{Text, Sandbox, Element, Settings};
fn main() -> iced::Result
{
    Hello::run(Settings::default())
}

struct Hello;

impl Sandbox for Hello
{
	type Message = ();

	fn new() -> Self
	{
		Self
	}

	fn title(&self) -> String
	{
		String::from("Title")
	}
	fn update(&mut self, _message: Self::Message)
	{

	}
	fn view(&mut self) -> Element<Self::Message>
	{
		Text::new("Hello world").into()
	}
}

So when I run cargo build I get a whole bunch of errors, starting of with

error: linking with `link.exe` failed: exit code: 1120

Then I get a huge list of directory then I get this:

  = note: LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function '"void * __cdecl std::_Allocate_manually_vector_aligned<struct std::_Default_allocate_traits>(unsigned __int64)" (??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z)'
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol '_invalid_parameter_noinfo_noreturn' defined in 'libucrt.lib(invalid_parameter.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function '"void __cdecl spirv_cross::report_and_abort(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?report_and_abort@spirv_cross@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function '"void __cdecl spirv_cross::report_and_abort(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?report_and_abort@spirv_cross@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol 'fflush' defined in 'libucrt.lib(fflush.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function '_vfprintf_l'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function 'sc_internal_free_pointer'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function 'sc_internal_compiler_get_entry_points'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function '"void __cdecl spirv_cross::report_and_abort(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?report_and_abort@spirv_cross@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4217: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(wrapper.o)' in function '"public: void __cdecl spirv_cross::SmallVector<struct spirv_cross::StringStream<4096,4096>::Buffer,8>::reserve(unsigned __int64)" (?reserve@?$SmallVector@UBuffer@?$StringStream@$0BAAA@$0BAAA@@spirv_cross@@$07@spirv_cross@@QEAAX_K@Z)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_util.o)'
          LINK : warning LNK4286: symbol 'terminate' defined in 'libucrt.lib(terminate.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol 'ceilf' defined in 'libucrt.lib(ceilf.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o)'
          LINK : warning LNK4286: symbol 'ceilf' defined in 'libucrt.lib(ceilf.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o)'
          LINK : warning LNK4286: symbol 'ceilf' defined in 'libucrt.lib(ceilf.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_parser.o)'
          LINK : warning LNK4217: symbol 'ceilf' defined in 'libucrt.lib(ceilf.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o)' in function '"protected: unsigned __int64 __cdecl std::_Hash<class std::_Umap_traits<unsigned int,unsigned int,class std::_Uhash_compare<unsigned int,struct std::hash<unsigned int>,struct std::equal_to<unsigned int> >,class std::allocator<struct std::pair<unsigned int const ,unsigned int> >,0> >::_Min_load_factor_buckets(unsigned __int64)const " (?_Min_load_factor_buckets@?$_Hash@V?$_Umap_traits@IIV?$_Uhash_compare@IU?$hash@I@std@@U?$equal_to@I@2@@std@@V?$allocator@U?$pair@$$CBII@std@@@2@$0A@@std@@@std@@IEBA_K_K@Z)'
          LINK : warning LNK4286: symbol 'ceilf' defined in 'libucrt.lib(ceilf.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)'
          LINK : warning LNK4286: symbol 'ceilf' defined in 'libucrt.lib(ceilf.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o)'
          LINK : warning LNK4286: symbol 'ceilf' defined in 'libucrt.lib(ceilf.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4217: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)' in function '_vsnprintf_l'
          LINK : warning LNK4286: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o)'
          LINK : warning LNK4217: symbol '_dtest' defined in 'libucrt.lib(_test.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)' in function '"int __cdecl fpclassify(double)" (?fpclassify@@YAHN@Z)'
          LINK : warning LNK4217: symbol '_fdtest' defined in 'libucrt.lib(_test.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)' in function '"int __cdecl fpclassify(float)" (?fpclassify@@YAHM@Z)'
          LINK : warning LNK4217: symbol 'localeconv' defined in 'libucrt.lib(localeconv.obj)' is imported by 'libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o)' in function '"private: void __cdecl spirv_cross::CompilerGLSL::init(void)" (?init@CompilerGLSL@spirv_cross@@AEAAXXZ)'
          libspirv_cross-60856a2a86c1268c.rlib(wrapper.o) : error LNK2019: unresolved external symbol __imp_strdup referenced in function sc_internal_compiler_msl_compile
          OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp_strdup
          libspirv_cross-60856a2a86c1268c.rlib(spirv_cfg.o) : error LNK2001: unresolved external symbol __imp__wassert
          libspirv_cross-60856a2a86c1268c.rlib(spirv_cross_parsed_ir.o) : error LNK2001: unresolved external symbol __imp__wassert
          libspirv_cross-60856a2a86c1268c.rlib(spirv_cross.o) : error LNK2001: unresolved external symbol __imp__wassert
          libspirv_cross-60856a2a86c1268c.rlib(spirv_glsl.o) : error LNK2001: unresolved external symbol __imp__wassert
          libspirv_cross-60856a2a86c1268c.rlib(spirv_hlsl.o) : error LNK2001: unresolved external symbol __imp__wassert
          libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o) : error LNK2001: unresolved external symbol __imp__wassert
          libspirv_cross-60856a2a86c1268c.rlib(spirv_msl.o) : error LNK2019: unresolved external symbol __imp_isdigit referenced in function "protected: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl spirv_cross::CompilerMSL::ensure_valid_name(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?ensure_valid_name@CompilerMSL@spirv_cross@@IEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V34@0@Z)
          OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp__strdup
          C:\Users\joe\Desktop\rust\target\debug\deps\rust.exe : fatal error LNK1120: 4 unresolved externals


error: aborting due to previous error

error: could not compile `rust`

I am currently using Windows 10.

@Joe23232
Copy link
Author

Here is a a temporary fix according to this comment:

https://users.rust-lang.org/t/linking-error-using-iced/64741/7?u=joe232

@hecrj hecrj closed this as completed Sep 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants