windres 找不到 "wx/msw/wx.rc" 使用 MSYS2-minGW64 和 Codelite 构建 wxWidgets 项目
windres cannot find "wx/msw/wx.rc" building wxWidgets project with MSYS2-minGW64 and Codelite
打开一个新问题,因为有些 older answer 不适用于我的情况。
根据主题,我无法使用 CodeLite 14 和 wxWidgets 3.1.4(使用 MSYS2-mingW64 编译)在 Windows10 中编译基本的 wxWidgets“Hello,World”程序。
错误信息在行
C:/Users/Federico/codelite/wxHelloWorld/win_resources.rc:1:10: fatal error: wx/msw/wx.rc: No such file or directory
1 | #include "wx/msw/wx.rc"
| ^~~~~~~~~~~~~~
compilation terminated.
wx-config 运行 wx-config --rcflags
返回的资源文件标志是:
--use-temp-file --define __WXMSW__ --define _UNICODE --include-dir C:/wx/3.1.4-msys/lib/gcc_lib/mswu --include-dir C:/wx/3.1.4-msys/include
所有folders/files都已到位。通过修改这些标志,我发现没有给出错误,并且程序可以正确编译,如果我 删除 --use-temp-file
标志,如:
--define __WXMSW__ --define _UNICODE --include-dir C:/wx/3.1.4-msys/lib/gcc_lib/mswu --include-dir C:/wx/3.1.4-msys/include
然后一切正常。不幸的是,该标志默认由 wx-config 假定,因此没有它的唯一简单解决方案就是停止使用 wx-config
并手动配置所有编译器标志。所以:
- 有什么方法可以避免这种情况吗?
- 那面旗帜是做什么用的?
这真的很奇怪,因为 --use-temp-file
的使用已从 commit 093c3067e8 中的 wx makefile 中删除(不要使用 windres --use-temp-file 选项,2020-07-13 ) 是 3.1.4 的一部分,所以你根本不应该看到它。
但是等等,它甚至更奇怪,因为 wx-config 没有您显然使用的 --rcflags
选项。它确实有 --rescomp
选项,但它从来没有在其输出中包含 --use-temp-file
,AFAICS,而且绝对不在 3.1.4 中。
看来您使用的不是官方的 3.1.4 版本。而你第一个问题的答案是使用官方资源。
打开一个新问题,因为有些 older answer 不适用于我的情况。
根据主题,我无法使用 CodeLite 14 和 wxWidgets 3.1.4(使用 MSYS2-mingW64 编译)在 Windows10 中编译基本的 wxWidgets“Hello,World”程序。
错误信息在行
C:/Users/Federico/codelite/wxHelloWorld/win_resources.rc:1:10: fatal error: wx/msw/wx.rc: No such file or directory
1 | #include "wx/msw/wx.rc"
| ^~~~~~~~~~~~~~
compilation terminated.
wx-config 运行 wx-config --rcflags
返回的资源文件标志是:
--use-temp-file --define __WXMSW__ --define _UNICODE --include-dir C:/wx/3.1.4-msys/lib/gcc_lib/mswu --include-dir C:/wx/3.1.4-msys/include
所有folders/files都已到位。通过修改这些标志,我发现没有给出错误,并且程序可以正确编译,如果我 删除 --use-temp-file
标志,如:
--define __WXMSW__ --define _UNICODE --include-dir C:/wx/3.1.4-msys/lib/gcc_lib/mswu --include-dir C:/wx/3.1.4-msys/include
然后一切正常。不幸的是,该标志默认由 wx-config 假定,因此没有它的唯一简单解决方案就是停止使用 wx-config
并手动配置所有编译器标志。所以:
- 有什么方法可以避免这种情况吗?
- 那面旗帜是做什么用的?
这真的很奇怪,因为 --use-temp-file
的使用已从 commit 093c3067e8 中的 wx makefile 中删除(不要使用 windres --use-temp-file 选项,2020-07-13 ) 是 3.1.4 的一部分,所以你根本不应该看到它。
但是等等,它甚至更奇怪,因为 wx-config 没有您显然使用的 --rcflags
选项。它确实有 --rescomp
选项,但它从来没有在其输出中包含 --use-temp-file
,AFAICS,而且绝对不在 3.1.4 中。
看来您使用的不是官方的 3.1.4 版本。而你第一个问题的答案是使用官方资源。