Qt错误:LNK1120:1未解析的externals main.obj:-1:错误:LNK2019运行Qmake

时间:2015-05-11 13:22:48

标签: c++ qt

我无法弄清楚为什么我会收到错误: main.obj:-1:错误:LNK2019:函数_main中引用的未解析的外部符号“public:__thiscall Standbywindow :: Standbywindow(void)”(?? 0Standbywindow @@ QAE @ XZ) 和 debug \ pointer_test.exe:-1:错误:LNK1120:1未解析的外部

Main.cpp的

  #include <QCoreApplication>
  #include <QDebug>
  #include "standby.h"

  Standbywindow *standby_window;

  int main(int argc, char *argv[])
  {
  QCoreApplication a(argc, argv);
     standby_window = new Standbywindow;
  return a.exec();
  }

standby.h

 #ifndef STANDBY_H
 #define STANDBY_H
 #include <QDebug>
 class Standbywindow{
 public:
 Standbywindow();
 };

 #endif // STANDBY_H

standby.cpp

#include "standby.h"
Standbywindow::Standbywindow(){
}

pointer_test.pro

  #-------------------------------------------------
  #
  # Project created by QtCreator 2015-05-10T11:08:06
  #
  #-------------------------------------------------

  QT       += core

  QT       -= gui

  TARGET = pointer_test
  CONFIG   += console
  CONFIG   -= app_bundle

  TEMPLATE = app


  SOURCES += main.cpp \
     standby.cpp

  HEADERS += \
     standby.h

编译输出

09:08:23: Running steps for project pointer_test...
09:08:23: Configuration unchanged, skipping qmake step.
09:08:23: Starting: "C:\Qt\Tools\QtCreator\bin\jom.exe" 
C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Debug  
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc        /Fddebug\pointer_test.pdb -DUNICODE -DWIN32 -DQT_CORE_LIB -I"..\pointer_test" -         I"."  -I"C:\Qt\5.4\msvc2010_opengl\include" -I"C:\Qt\5.4\msvc2010_opengl\include\QtCore" -I"debug" -I"C:\Qt\5.4\msvc2010_opengl\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\Mike\AppData\Local\Temp\main.obj.10328.16.jom
   main.cpp
   echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ "debug\\pointer_test.exe.embed.manifest">debug\pointer_test.exe_manifest.rc
   if not exist debug\pointer_test.exe if exist   debug\pointer_test.exe.embed.manifest del debug\pointer_test.exe.embed.manifest
     if exist debug\pointer_test.exe.embed.manifest copy /Y debug\pointer_test.exe.embed.manifest debug\pointer_test.exe_manifest.bak
     link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32'      name='Microsoft.Windows.Common-Controls' version='6.0.0.0'      publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST /MANIFESTFILE:debug\pointer_test.exe.embed.manifest /OUT:debug\pointer_test.exe @C:\Users\Mike\AppData\Local\Temp\pointer_test.exe.10328.2250.jom
    main.obj : error LNK2019: unresolved external symbol "public: __thiscall Standbywindow::Standbywindow(void)" (??0Standbywindow@@QAE@XZ) referenced in      function _main
    debug\pointer_test.exe : fatal error LNK1120: 1 unresolved externals
     jom: C:\Users\Mike\Documents\QT\build-pointer_test-  Desktop_Qt_5_4_1_MSVC2010_OpenGL_32bit-Debug\Makefile.Debug [debug\pointer_test.exe] Error 1120
   jom: C:\Users\Mike\Documents\QT\build-pointer_test-  Desktop_Qt_5_4_1_MSVC2010_OpenGL_32bit-Debug\Makefile [debug] Error 2
 09:08:26: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
 Error while building/deploying project pointer_test (kit: Desktop Qt 5.4.1 MSVC2010 OpenGL 32bit)
 When executing step "Make"
 09:08:26: Elapsed time: 00:03.

1 个答案:

答案 0 :(得分:2)

确保standby.cpp在.pro文件中列为源文件,然后再次尝试运行QMake(build - &gt; run qmake),然后尝试构建。您也可以尝试清理/重建项目。