2013-04-27 1 views
1
내가 실행하고 일부 Qt 코드 그래서 그것을 배울 수 컴파일 할

을 받고, 나는 아래의 웹 사이트에 가서 나는 그들이 어떤 Qt는 새로운 Qt는에 링커 및 메이크 오류

에게

Sample Qt Code

I를 제공했다 최신 버전을 사용, 그럼 내가 코드를 복사 그러나 나는 이러한 오류를 얻을 :

mainwindow.obj:-1: error: LNK2005: main already defined in main.obj

debug\uwm.exe:-1: error: LNK1169: one or more multiply defined symbols found

그래서 내가 'qt forum'내 질문을, 그들은 "MainWindow를 삭제 제안 .H "와"내 프로젝트의 디렉토리에서 mainwindow.cpp "

그래서 첫 번째 오류는 사라 않으면하지만이 프로젝트를 빌드 한 후 나는 새로운 것들을 얻을 :

11:58:21: Running steps for project uwm... 11:58:21: Configuration unchanged, skipping qmake step. 11:58:21: Starting: "C:\Qt\Qt5.0.2\Tools\QtCreator\bin\jom.exe"
C:\Qt\Qt5.0.2\Tools\QtCreator\bin\jom.exe -f Makefile.Debug Error: dependent '..\uwm\mainwindow.cpp' does not exist. jom: D:\qt\build-uwm-Desktop_Qt_5_0_2_MSVC2012_64bit-Debug\Makefile [debug] Error 2 11:58:21: The process "C:\Qt\Qt5.0.2\Tools\QtCreator\bin\jom.exe" exited with code 2. Error while building/deploying project uwm (kit: Desktop Qt 5.0.2 MSVC2012 64bit) When executing step 'Make' 11:58:21: Elapsed time: 00:00.

+0

내 두 번째 오류의 스크린 샷을 제출할 수 없습니다. http://s21.postimg.org/6z7t2mnx3/Scrshot11.png – amir

+0

'Makefile' 및'Makefile.Debug' 프로젝트를 변경 한 후에 어떤 이유로 업데이트되었습니다. 'D : \ qt \ build-uwm-Desktop_Qt_5_0_2_MSVC2012_64bit-Debug' 파일을 모두 삭제하고 다시 시도하십시오. – Paul

+0

@ Paul 감사합니다. 완벽한 ... 당신은 맞습니다. Makefile과 Makefile.Debug는 업데이트되지 않았습니다. – amir

답변

1

변경 코드를 작성하거나 작성한 후 다른 시스템에서 컴파일 및 작성한 코드를 작성하면 이러한 문제점을 피하고 작업 환경에 맞게 .pro 파일을 만들 수 있습니다. 따라서 make clean을 실행 한 다음 qmake -project를 다시 실행 한 다음 빌드하십시오 그것.

$ make clean 
$ qmake -project 
$ qmake [your .pro file name here].pro 
$ make 

그러나 qmake는 .pro 파일에 적절한 MakeFile을 생성하는 데 필요한 모든 매개 변수를 삽입하지 않습니다. 예를 들어 부스트와 같은 외부 라이브러리를 사용했다면 .pro 파일에 LIBS +=을 사용하여 수동으로 추가해야합니다. "Qt Creator"를 사용하는 것이 더 낫습니다. 코드를 작성할 때마다이 작업을 수행 할 필요가 없으며 설명 된대로 올바른 .pro 파일 및 구성이 필요합니다. 또한 컴파일러 오류에주의를 기울이고 코드를 성공적으로 빌드 할 때까지 하나씩 문제를 해결하십시오.