Ich versuche eine einfache Klasse in C++ mit Qt5 zu schreiben. Ich kann nicht herausfinden, dieser Fehler kommt aus:main.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol public: __cdecl
main.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol "public: __cdecl ItemModel :: ItemModel (Klasse std :: basic_string, Klasse std :: Allocator>)" (?? 0ItemModel @@ QEAA @ V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Zuweiser @ D @ 2 @@ std @@@ Z) referenziert in Funktion Haupt debug \ AMWS.exe: fatal error LNK1120: 1 nicht aufgelöste externe
Test.pro
QT += core
QT -= gui
CONFIG += c++11
TARGET = Test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
HEADERS += \
main.h \
itemmodel.h
SOURCES += \
main.cpp \
itemmodel.cpp
itemmodel.h
#ifndef ITEMMODEL_H
#define ITEMMODEL_H
#include <string>
class ItemModel
{
public:
ItemModel(std::string sku);
protected:
std::string SKU;
};
#endif // ITEMMODEL_H
itemmodel.cpp
#include "itemmodel.h"
using namespace std;
ItemModel::ItemModel(string sku) : SKU(sku)
{
}
main.h
#ifndef MAIN_H
#define MAIN_H
#include <QCoreApplication>
#include <iostream>
#include "itemmodel.h"
#endif // MAIN_H
main.cpp
#include "main.h"
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
ItemModel product("dummy");
cout << "Great!!!" << endl;
return a.exec();
}
Dies ist kein gültiger C-Code. Warum hast du es markiert? –
Das sieht wie ein Visual Studio Verbindungsfehler aus. Das Beispiel wird mit Visual Studio 2015 unverändert übernommen. Was für einen Compiler verwenden Sie? –
Ich verwende Qt5 unter Windows – Steve