Windows 使用glfw rs时,gcc.exe找不到-lglfw3

Windows 使用glfw rs时,gcc.exe找不到-lglfw3,windows,gcc,rust,Windows,Gcc,Rust,我用mingw的窗户生锈了(这可能是我的第一个错误,但我不会放弃)。我下载了64位的所有东西,当我构建我的项目时,我得到了 error: linking with `gcc` failed: exit code: 1 note: gcc '-Wl,--enable-long-section-names' '-fno-use-linker-plugin' '-Wl,--nxcompat' '-static-libgcc' '-m64' '-L' 'C:\R ust\bin\rustlib\x86_

我用mingw的窗户生锈了(这可能是我的第一个错误,但我不会放弃)。我下载了64位的所有东西,当我构建我的项目时,我得到了

error: linking with `gcc` failed: exit code: 1
note: gcc '-Wl,--enable-long-section-names' '-fno-use-linker-plugin' '-Wl,--nxcompat' '-static-libgcc' '-m64' '-L' 'C:\R
ust\bin\rustlib\x86_64-pc-windows-gnu\lib' '-o' 'C:\Users\jay\projects\hello_world\target\hello_world.exe' 'C:\Users\jay
\projects\hello_world\target\hello_world.o' '-Wl,--gc-sections' 'C:\Users\jay\projects\hello_world\target\deps\libglfw-5
007f9fddc425da6.rlib' 'C:\Users\jay\projects\hello_world\target\deps\libbitflags-57b03d5337bba57b.rlib' 'C:\Users\jay\pr
ojects\hello_world\target\deps\libsemver-693b3d5412b8e4b9.rlib' 'C:\Users\jay\projects\hello_world\target\deps\liblog-4e
79c2d7625e8c6f.rlib' 'C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib\libstd-4e7c5e5c.rlib' 'C:\Rust\bin\rustlib\x86_64-pc
-windows-gnu\lib\libcollections-4e7c5e5c.rlib' 'C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib\libunicode-4e7c5e5c.rlib'
'C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib\librand-4e7c5e5c.rlib' 'C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib\lib
alloc-4e7c5e5c.rlib' 'C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib\liblibc-4e7c5e5c.rlib' 'C:\Rust\bin\rustlib\x86_64-p
c-windows-gnu\lib\libcore-4e7c5e5c.rlib' '-L' 'C:\Users\jay\projects\hello_world\target' '-L' 'C:\Users\jay\projects\hel
lo_world\target\deps' '-L' 'C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib' '-L' 'C:\Users\jay\projects\hello_world\.rust
\bin\x86_64-pc-windows-gnu' '-L' 'C:\Users\jay\projects\hello_world\bin\x86_64-pc-windows-gnu' '-Wl,--whole-archive' '-W
l,-Bstatic' '-Wl,--no-whole-archive' '-Wl,-Bdynamic' '-lglfw3' '-lopengl32' '-lgdi32' '-lws2_32' '-lcompiler-rt'
note: ld: cannot find -lglfw3

    error: aborting due to previous error
    Could not compile `hello_world`.
(试图格式化,但…)


我相信问题是我的gcc.exe,它说每当我运行它时都找不到输入文件。是否有gcc.exe可以替换?

尝试下载。我将文件从
lib mingw
目录复制到我的Rust项目中。在我的32位Windows虚拟机上,我将它们放在
hello-glfw\bin\i686 pc-Windows-gnu
中,但看起来您需要
hello\u-world\bin\x86\u 64-pc-Windows-gnu
。这使我可以运行。

“注意:ld:note-find-lglfw3”:我想这意味着您需要libglfw3对象文件或源代码。您正在运行什么命令?我不认为正常的Rust编译需要GCC。@Shepmaster我正在运行cargo Build我想这不仅仅是一个标准的“Hello World”,是吗?是一个OpenGL库。你是在用额外的板条箱还是类似的东西?你能给我们提供一个(stackoverflow.com/help/mcve)以便我们进行更多调查吗?@Shepmaster什么是mcve?我用的是gl,谢谢,它很管用!您刚才提到的目录位于Rust\bin\rustlib\x86\u 64-pc-windows-gnu中。我不确定我是否应该这样做,但我过去常在minigw中添加lib和其他内容。我认为您不应该在全局路径中添加特定于项目的库。在问题的输出中,有一行
'-L'-C:\Users\jay\projects\hello\u world\bin\x86\u 64-pc-windows-gnu'
。这意味着已经在项目特定目录中搜索这些库;把东西放在那里可能安全多了!如果您希望此库的多个版本用于不同的项目,该怎么办?谢谢,这很有意义。我需要开始记录这些事情。等等,bin文件夹不在我的项目目录中。只有src target和其他一些文件是正确的。在
src
旁边创建
bin
,并在其内部创建
x86_64-pc-windows-gnu