【问题标题】:Error building wxWidgets program with CodeBlocks使用 CodeBlocks 构建 wxWidgets 程序时出错
【发布时间】:2020-05-13 10:45:11
【问题描述】:

我想用 CodeBlocks 和 wxWidgets 构建一些程序,但每次启动时都会出错:

||=== Build: Release in 555 (compiler: GNU GCC Compiler) ===|
Files\wxWidgets-3.0.5\include||No such file or directory|
Files\wxWidgets-3.0.5\lib\gcc_dll\mswu||No such file or directory|
||preprocessing failed.|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

但我确实在 C:\Program Files\wxWidgets-3.0.5\includeC:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswu 中看到了这些目录
我已经完成了这个视频中的所有操作:How to build wxWidget and use on Code::Blocks 和官方维基 - 但没有任何效果。编译库时,没有错误。 这是完整的构建日志:

-------------- Build: Release in 666 (compiler: GNU GCC Compiler)---------------

g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -O2 -std=gnu++11 -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswu" -c D:\Programs\C\Vis\666\wx_pch.h -o wx_pch.h.gch\Release_wx_pch_h_gch
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -O2 -std=gnu++11 -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswu" -c D:\Programs\C\Vis\666\_66App.cpp -o obj\Release\_66App.o
g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wall -O2 -std=gnu++11 -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswu" -c D:\Programs\C\Vis\666\_66Main.cpp -o obj\Release\_66Main.o
windres.exe -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswu"  -J rc -O coff -i D:\Programs\C\Vis\666\resource.rc -o obj\Release\resource.res
g++.exe -L"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll" -o bin\Release\666.exe obj\Release\_66App.o obj\Release\_66Main.o  obj\Release\resource.res -s -mthreads  -lwxmsw30u -mwindows
gcc: error: Files\wxWidgets-3.0.5\include: No such file or directory
gcc: error: Files\wxWidgets-3.0.5\lib\gcc_dll\mswu: No such file or directory
windres.exe: preprocessing failed.
Process terminated with status 1 (0 minute(s), 7 second(s))

谁能帮帮我?

【问题讨论】:

    标签: codeblocks wxwidgets


    【解决方案1】:

    这些是构建错误,因此您无法构建应用。问题似乎是找不到像Files\wxWidgets-3.0.5\include 这样的文件夹(注意缺少C:\Program?)。尝试在目录名称周围添加引号。

    【讨论】:

    • 我添加了完整的构建日志,但我没有看到任何丢失的目录名称
    • gcc: error: Files\wxWidgets-3.0.5\include: No such file or directory,你就在那里。您是否尝试将目录用引号括起来?
    • 它们是用引号引起来的,不是吗? windres.exe -I"C:\Program Files\wxWidgets-3.0.5\include" -I"C:\Program Files\wxWidgets-3.0.5\lib\gcc_dll\mswu" -J rc -O coff -i D:\Programs\C\Vis\666\resource.rc -o obj\Release\resource.res 或者你是什么意思?
    • 在您链接的视频中,在 3:50 及以后,那里的目录没有用引号括起来(但它们也不包含空格)。那么,在 C::B 设置中,在视频中显示的相同位置,您是否已经将目录括在引号中?
    【解决方案2】:

    您的编译器选项似乎缺少引号,因此您的-IC:/Program Files/wxWidgets... 被分解为-IC:/ProgramFiles/wxWidgets...,这就是您所看到的。

    直接的解决方案是在您输入此路径的同一位置添加引号。

    以后,我强烈建议不要将带有空格的目录用于任何与编程相关的内容。当然,它应该可以在足够谨慎地使用引号的情况下工作,但这只是处理一些额外的痛苦,没有人需要它。

    【讨论】:

    • 糟糕,我写这篇文章时没有注意到@catalin 的回答。它基本上是一样的,所以这个大部分是多余的,但也许值得留下来,只是为了避免路径中有空格的建议。
    【解决方案3】:

    谢谢大家,将目录放在引号中没有帮助,但是将整个 wx 目录移动到 C:\ 确实有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-16
      • 2015-06-08
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      相关资源
      最近更新 更多