2016-06-28 2 views
0

こんにちは私は他のすべての質問を読みましたが、私の心の中でクリアされていませんでした。申し訳ありませんが重複した質問がありますが、これを解決するオプションはありません。QT5 Initializerで実装されていません

G ++/GCCを搭載したUbuntuマシンでQT 5を使用しています。 だから、私はコンパイルしていると私はこのエラーを取得:

src/rolebit.cpp:279:26: error: variable 'startWindowImpl mainWin' has initializer but incomplete type 
    startWindowImpl mainWin(myConfig,myLog); 

ので、rolebit.cppファイルから私はこの実装があります

#ifdef QML_CLIENT 
//START THE QML SWITCH HERE 
#include <iostream> 
#include <cstdlib> 
#include <ctime> 
#include <QApplication> 
#include <boost/shared_ptr.hpp> 
#include "configfile.h" 
#include "qmlwrapper.h" 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    boost::shared_ptr<ConfigFile> myConfig; 
    myConfig.reset(new ConfigFile(argv[0], false)); 

    QmlWrapper myQml(myConfig); 
    return app.exec(); 
} 

をしかし、この後、私はこのラインがあります。

#else 
// START OF OLD QT-WIDGETS GUI SECTION 


#include <boost/asio.hpp> 
#include <iostream> 
#include <cstdlib> 
#include <ctime> 
#include <qapplication.h> 

#if QT_VERSION >= 0x050000 
#include <QtWidgets> 
#endif 
#include <QtGui> 
#include <QtCore> 

#ifdef __APPLE__ 
#if QT_VERSION < 0x050000 
#include <QMacStyle> 
#endif 
#endif 

#include <curl/curl.h> 

#include "session.h" 
#include "startwindowimpl.h" 
#include "configfile.h" 
#include "log.h" 
#include "startsplash.h" 
#include "game_defs.h" 
#include <net/socket_startup.h> 
#include <third_party/qtsingleapplication/qtsingleapplication.h> 

#ifdef _MSC_VER 
#ifdef _DEBUG 
#define _CRTDBG_MAP_ALLOC 
#include <crtdbg.h> 

#define ENABLE_LEAK_CHECK() \ 
{ \ 
    int tmpFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); \ 
    tmpFlag |= _CRTDBG_LEAK_CHECK_DF; \ 
    _CrtSetDbgFlag(tmpFlag); \ 
    } 
#endif 
#endif 

#ifndef ENABLE_LEAK_CHECK 
#define ENABLE_LEAK_CHECK() 
#endif 

問題が発生している行は次のとおりです。

startWindowImpl mainWin(myConfig,myLog); 

私は仕事をするために何をする必要がありますか?

は事前

答えて

0

にありがとうstartWindowImplクラスは完全に「startwindowimpl.h」で宣言されていますが、あなたのコードの最初の部分にライン#include "startwindowimpl.h"を持っていないように見えます。したがって、QML_CLIENT#define dの場合、このヘッダーは含まれていないため、クラスstartWindowImplの完全宣言は不明です。

+0

こんにちはmvidelgauz、あなたの返信ありがとう! 私はコードを見て、私は2番目の行(QT5のために)私はまだstartwindowimpl.hがあることがわかります。しかし、インクルードの最初の行にインクルードしても、同じエラーが発生します。 EDIT ありがとう、私はあなたのヒントに基づいて問題を見つける。私の "startwindowimpl.h"は0kbのファイルで、ファイルを調べて0行です。私はコードをバックアップし、今働いています。 –

+0

ありがとうございました。投稿されたコードがあなたの問題を推測するには不十分です。 .hファイルの内容を追加してください。 – mvidelgauz

+0

はあなたのヒントに基づいて解決されました。ありがとうございました! –

関連する問題