C++ 代码::块编译器说找不到TextFrame.h
当我试图编译我的代码时,它说它失败了,因为编译器说“TextFrame.h:没有这样的文件或目录”,但是即使有错误,也会创建一个文本框。我使用Code::Blocks 20.03作为我的IDE。抱歉,如果这是一个非常简单的问题,我是wxWidgets新手。我也在学习教程。这是当前的代码: main.hC++ 代码::块编译器说找不到TextFrame.h,c++,codeblocks,wxwidgets,C++,Codeblocks,Wxwidgets,当我试图编译我的代码时,它说它失败了,因为编译器说“TextFrame.h:没有这样的文件或目录”,但是即使有错误,也会创建一个文本框。我使用Code::Blocks 20.03作为我的IDE。抱歉,如果这是一个非常简单的问题,我是wxWidgets新手。我也在学习教程。这是当前的代码: main.h #ifndef TEXTEDITORAPP_H #define TEXTEDITORAPP_H class TextEditorApp : public wxApp { public:
#ifndef TEXTEDITORAPP_H
#define TEXTEDITORAPP_H
class TextEditorApp : public wxApp
{
public:
/** Initialize the application */
virtual bool OnInit();
};
DECLARE_APP(TextEditorApp)
#endif // TEXTEDITORAPP_H
main.cpp
#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "main.h"
#include "TextFrame.h"
IMPLEMENT_APP(TextEditorApp)
bool TextEditorApp::OnInit()
{
TextFrame *frame = new TextFrame(
wxT("Simple Text Editor"), 100, 100, 400, 300);
frame->Show(TRUE);
SetTopWindow(frame);
return true;
}
编辑:@Yunnosch需要一个最小的可复制示例:
#include "TextFrame.h"
IMPLEMENT_APP(TextEditorApp)
bool TextEditorApp::OnInit()
{
TextFrame *frame = new TextFrame(
wxT("Simple Text Editor"), 100, 100, 400, 300);
@Igor我在Linux上,C::B使用了以下命令:
g++ -I/usr/local/lib/wx/include/gtk2-unicode-static-3.0 -I/usr/local/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -pthread -Wall -g -c /home/my-username/Desktop/C++/wxWidgets/texteditor/texteditorApp.cpp -o obj/Debug/texteditorApp.o
g++ -o bin/Debug/texteditor obj/Debug/GUIFrame.o obj/Debug/texteditorApp.o obj/Debug/texteditorMain.o -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk2u_xrc-3.0.a /usr/local/lib/libwx_gtk2u_qa-3.0.a /usr/local/lib/libwx_baseu_net-3.0.a /usr/local/lib/libwx_gtk2u_html-3.0.a /usr/local/lib/libwx_gtk2u_adv-3.0.a /usr/local/lib/libwx_gtk2u_core-3.0.a /usr/local/lib/libwx_baseu_xml-3.0.a /usr/local/lib/libwx_baseu-3.0.a -lgthread-2.0 -pthread -lX11 -lSM -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype -lpng -lexpat -lwxregexu-3.0 -lwxtiff-3.0 -lwxjpeg-3.0 -lz -ldl -lm
我在C::B中使用了一个空项目和一个wxWidgets模板,两者都有相同的错误。对于空项目,我附加了正确的标志。我还重新安装了wxWidgets,只是为了看看是否有任何变化,但仍然是相同的错误。如果编译失败,它最多可以运行旧的exe,从它成功的时候开始。您是否进行了清理+构建且“框架已创建”仍然有效?@Yunnosch对于相同的.h和.cpp文件表示抱歉,请将其编辑为显示正确的格式files@catalin它仍然显示TextFrame.h不是found@Wolf,我猜你在窗户上,您确实构建了wxWidgets本身,并且可以成功编译和运行库提供的
minimal
示例。编译代码时生成的命令C::B是什么?你使用模板来创建你的项目,还是从空白模板开始,然后根据需要更新它?你能做更多吗?例如,带有a.c且仅包含#的文件,包括“TextFrame.h”
。