wxWidgets 与 MinGW,"wx/wx.h: No such file or directory"
wxWidgets with MinGW, "wx/wx.h: No such file or directory"
我是 C++ 和 wxWidgets 的新手。在过去的几天里,我按照 Visual Studio 的教程学习了如何构建 wxWidgets 桌面应用程序 (https://www.youtube.com/watch?v=FOIbK4bJKS8&t=800s)。
现在,因为我不熟悉 Visual Studio,我想从 Windows 命令提示符移动到使用 Atom 编辑代码并使用 MinGW 编译。
该应用有以下文件:
cMake.h
AnalogRead.h
cMake.cpp
AnalogRead.cpp
在Visual Studio中,需要在工程中包含两个目录和一个库,分别是:
路径:
/wxWidgets/include
/wxWidgets/include/msvc
图书馆:
/wxWidgets/lib/vc_lib
相对于 C++ 代码所在的路径。
所以我尝试创建编译行,但没有成功:
c++ -I/wxWidgets/include -I/wxWidgets/include/msvc -L/wxWidgets/lib/vc_lib cMake.cpp AnalogRead.cpp -o test
但是我得到以下错误:
In file included from AnalogRead.cpp:1:0:
AnalogRead.h:3:19: fatal error: wx/wx.h: No such file or directory
#include <wx/wx.h>
^
compilation terminated.
问题是,我在编译中包括了那个路径。 wx/wx.h 在路径 /wxWidgets/include/.
内
有办法解决这个问题吗?提前致谢。
/wxWidgets/include
不是相对路径。这是当前磁盘中的绝对路径。你有C:\wxWidgets\include
吗?尝试 -IwxWidgets/include
或 -I./wxWidgets/include
,不带前导 /。如果您的应用程序源中有 wxWidgets 目录,此路径应该有效。
如果您想使用 MinGW,您需要使用 MinGW 编译器构建库,然后使用完全相同的命令来构建您的软件。
或使用 IDE(CodeBlocks、CodeLite)。
HTH.
您不能用一个编译器编译库,然后用另一个编译器编译使用它的应用程序,这是行不通的。您应该决定要使用哪个编译器(或者尝试同时使用它们,但不能同时使用!)并遵循文件 docs/msw/install.md.
中的官方构建说明
我是 C++ 和 wxWidgets 的新手。在过去的几天里,我按照 Visual Studio 的教程学习了如何构建 wxWidgets 桌面应用程序 (https://www.youtube.com/watch?v=FOIbK4bJKS8&t=800s)。
现在,因为我不熟悉 Visual Studio,我想从 Windows 命令提示符移动到使用 Atom 编辑代码并使用 MinGW 编译。
该应用有以下文件:
cMake.h
AnalogRead.h
cMake.cpp
AnalogRead.cpp
在Visual Studio中,需要在工程中包含两个目录和一个库,分别是: 路径:
/wxWidgets/include
/wxWidgets/include/msvc
图书馆:
/wxWidgets/lib/vc_lib
相对于 C++ 代码所在的路径。
所以我尝试创建编译行,但没有成功:
c++ -I/wxWidgets/include -I/wxWidgets/include/msvc -L/wxWidgets/lib/vc_lib cMake.cpp AnalogRead.cpp -o test
但是我得到以下错误:
In file included from AnalogRead.cpp:1:0:
AnalogRead.h:3:19: fatal error: wx/wx.h: No such file or directory
#include <wx/wx.h>
^
compilation terminated.
问题是,我在编译中包括了那个路径。 wx/wx.h 在路径 /wxWidgets/include/.
内有办法解决这个问题吗?提前致谢。
/wxWidgets/include
不是相对路径。这是当前磁盘中的绝对路径。你有C:\wxWidgets\include
吗?尝试 -IwxWidgets/include
或 -I./wxWidgets/include
,不带前导 /。如果您的应用程序源中有 wxWidgets 目录,此路径应该有效。
如果您想使用 MinGW,您需要使用 MinGW 编译器构建库,然后使用完全相同的命令来构建您的软件。
或使用 IDE(CodeBlocks、CodeLite)。
HTH.
您不能用一个编译器编译库,然后用另一个编译器编译使用它的应用程序,这是行不通的。您应该决定要使用哪个编译器(或者尝试同时使用它们,但不能同时使用!)并遵循文件 docs/msw/install.md.
中的官方构建说明