2014-02-09 1 views
1

는, 내가 릴리스 모드에서 완벽하게 정상적으로 컴파일하지만 작품을 때 나는 다음과 같은 오류를 얻을 :출시 컴파일 문제 Qt는 C++ 내가 디버그 모드에서 내 프로그램을 컴파일 할 때마다

moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::lowercase(QString)' 
moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::on_label_linkActivated(QString const&)' 
moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::on_ReadButton_clicked()' 
:-1: error: release/moc_mainwindow.o: bad reloc address 0x4 in section `.data' 
collect2.exe:-1: error: error: ld returned 1 exit status 

정의되지 않은 오류의 모든 기능을 가리키는됩니다 내 프로그램에서 삭제되었습니다. 나는 또한 "Ctrl-F"를 모두 moc_mainwindow.cpp에서 편집했는데 어떤 함수도 찾을 수 없었다. 또한 일반적으로 내가 오류를 두 번 클릭하면 나는 보통 오류가 코드에 어디에 있는지 보여주는 참조를 얻었지만 "파일을 찾을 수 없습니다 : moc_mainwindow.cpp"

+0

깨끗한 빌드를 수행하고 있습니까? –

+0

깨끗한 빌드? 미안 QT – user3183586

+0

에 새롭다. Windows 및 QtCreator에서 Qt를 사용하고 있다면'build- *'디렉토리를 지우고'CTRL + B'를 다시 누르면된다. 그러면 QtCreator가 더 이상 존재하지 않는 모든 메이크 파일을 생성하고 모든 개체를 컴파일하게됩니다. –

답변

4

Qt Creator를 사용하고 있다고 가정하고 있습니까? 그렇다면 정리를 수행하기 위해 빌드 메뉴에서 "모두 다시 빌드"를 선택할 수 있습니다. 당신이 사용하는만큼 또한, 작동 빌드 디렉토리를 삭제

enter image description here

: 당신은 또한 다음 마우스 오른쪽 프로젝트를 클릭하고 만들 파일의 재생을 강제로 "실행 qmake를"을 선택, "청소"를 선택할 수 있습니다 은 "그림자 빌드 '기능을 사용하여 소스와 빌드 (이 기본적으로 있어야한다)

enter image description here

당신이 그림자 구축이있는 경우, 단순히 프로젝트의 빌드 디렉토리를 복사> & 빌드 분리되어 있는지 확인합니다 실행> 일반 창에서 i를 삭제하십시오. 터미널에서 명령 행을 사용하십시오.

관련 문제