无法通过mingw编译wxWidgets,按照zip文件附带的install.txt安装指南操作。

7
我正在尝试编译wxwidgets。我使用mingw32进行编译,并按照zip文件中的install.txt进行操作,但每次编译时都会出现这些错误。
如果gcc_mswd不存在,则创建gcc_mswd
process_begin: CreateProcess(NULL, -c "if not exist gcc_mswd mkdir gcc_mswd", ...) 失败。
make (e=2): 系统找不到指定的文件。
mingw32-make: [gcc_mswd] 错误 2(已忽略)
如果..\..\lib\gcc_lib不存在,则创建..\..\lib\gcc_lib
process_begin: CreateProcess(NULL, -c "if not exist ..\..\lib\gcc_lib mkdir ..\..\lib\gcc_lib", ...) 失败。
make (e=2): 系统找不到指定的文件。
mingw32-make: *** [..\..\lib\gcc_lib] 错误 2
感谢任何帮助。
注:如果使用mingw32-make可能会有所不同。
5个回答

5
根据wxWiki上的指南,看起来错误是由于您的PATH环境变量中有MSYS而引起的,这会使一切变得混乱。建议使用MSYS进行编译或从PATH中删除它,并确保您的mingw安装路径在PATH中。

4

我还发现我的PATH里其他的东西都以/BIN结尾,因此mingw找不到其组件。我所做的是将PATH中的所有其他内容删除(破坏了很多东西,但我稍后会修复 - 我备份了我的PATH :))。这解决了那个问题。 你也可以尝试将mingw路径放在PATH的最前面,这样它就不会再往下搜索 - 不过我没有试过。


问题不在于PATH中有几个bin部分,而是具有相同名称的多个工具可能会冲突。要检查所有可访问版本的gcc,请运行where gcc - Wolf
不要永久更改您的系统“PATH”变量,而是设置一个批处理文件,将“PATH”设置为最低要求,并添加其余的实际命令行。通过双击或通过“start”从命令行运行该批处理以启动新的 shell。环境(包括“PATH”)的更改仅对此 shell 可见,并在关闭时丢弃。 - Wolf

3

你是否也安装了MSYS?如果是的话,请尝试使用MSYS版本的make;mingw32-make在某些方面已知存在缺陷。(这只是一个建议;我不知道它是否能解决这个特定的问题。)


3

我在PATH中安装了mksnt(另一个*nix类似的shell),并观察到同样的问题。将其从PATH中移除,MinGW现在正在构建wxWidgets 2.8.12。


1
感谢之前的回答。我遇到了相同的问题,原因是将Git-Bash加入了PATH环境变量中:C:\Program Files (x86)\Git\bin;。将其从PATH中移除后,问题得以解决。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接