關於在vs2010中編譯Qt項目時出現“無法解析的外部命令”的錯誤


用CMake將Qt、VTK和ITK整合后,打開解決方案后添加新類時運行會出現“n個無法解析的外部命令”的錯誤。

原因是新建的類未能生成moc文件,解決辦法是:

1.右鍵 要生成moc文件的.h文件,打開屬性->常規->項類型改為自定義生成工具。

2.在新生成的選項中,填上相關內容:

 

具體如下:

命令行:"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"

說明:Moc%27ing ImageViewer.h...       //.h文件填要編譯的。

輸出:.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp

附加依賴項:$(QTDIR)\bin\moc.exe;%(FullPath)

3.此時右鍵 .h文件編譯,即可在GeneratedFiles\debug文件夾下生成moc文件,拖入Grenerated目錄下,即可。

 

 

關於moc文件,查看:qt中moc的作用

簡單來說:moc是QT的預編譯器,用來處理代碼中的slot,signal,emit,Q_OBJECT等。
moc文件是對應的處理代碼,也就是Q_OBJECT宏的實現部分。

 

 

XX.ui文件生成ui_XX.h:

當前路徑命令行輸入uic XX.ui -o ui_XX.h


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM