1. 程式人生 > >QT5 無法解析的外部符號 編譯錯誤解決辦法

QT5 無法解析的外部符號 編譯錯誤解決辦法

經常遇到編譯錯誤,形如:

error LNK2001: 無法解析的外部符號 "public: virtual void * __thiscall PictureBox::qt_metacast(char const *)" ([email protected]@@[email protected])

出現以上錯誤,原因在於 GeneratedFiles/Debug 或者GeneratedFiles/release中的moc_XXX.cpp檔案。

常見的解決辦法有兩種:

一、將.h和.cpp檔案從專案中移除,再新增

1、參考博文

二、生成moc_XXX.CPP檔案

1、參考博文

2、首先要找到Q_OBJECT巨集所在的標頭檔案,比如是XXX.h

3、找到對應qt版本庫的moc.exe檔案,其所在目錄進入cmd

4、然後執行:moc "D:\XXX.h" -o "D:\moc_XXX.cpp"   

5、會在相應目錄生成moc_XXX.cpp檔案,將其拷貝到目錄GeneratedFiles/release,然後新增到專案中,重新編譯即可。

相關推薦

QT5 無法解析外部符號 編譯錯誤解決辦法

經常遇到編譯錯誤,形如:error LNK2001: 無法解析的外部符號 "public: virtual void * __thiscall PictureBox::qt_metacast(char const *)" ([email protected]@@[e

OpenCv在win下靜態庫的編譯和使用,以及部分無法解析外部符號錯誤解決

這裡演示的是opencv3.4版本的編譯和使用過程。1、靜態庫編譯CMake進行配置,編譯時我選擇build目錄為build-static。其中需要設定選擇安裝目錄,設定   “CMAKE_INSTALL_PREFIX”  為   /build-static/install 

C++的error LNK2019: 無法解析外部符號編譯錯誤

1>Proxy.obj : error LNK2019: 無法解析的外部符號 [email protected],該符號在函式 "public: enum ProxyStatus __thiscall CProxy::ConnectProxyServer(u

c++連接mysql數據庫出現無法解析外部符號的問題

vs、解析外部符號include,lib文件夾都已經拷到了項目根目錄,並且設置好了路徑,生成就會出現無法解析的外部符號,提示我無法轉到函數的定義,最後發現vs2017默認win32,但是我的程序集64位的。更改後,重新設置目錄,路徑即可。c++連接mysql數據庫出現無法解析外部符號的問題

error2019無法解析外部符號

“error LNK2019: 無法解析的外部符號 error LNK2001: 無法解析的外部符號“private: static struct _OVERLAPPED CUsbCom::g_WriteOverlapped” 應該是工程設定的問題 沒有連線相應

VS2015無法解析外部符號

在使用VS編輯C++時,遇到了無法解析外部符號的錯誤 嚴重性程式碼說明專案 檔案行 錯誤LNK2019 無法解析的外部符號 "public: __thiscall Employee::Employe

iOS9 上支付寶AlipaySDK編譯錯誤解決辦法

編譯的錯誤: ld: warning: directory not found for option ‘-L/Users/XXX/Downloads/ios’ ld: ‘/XXX/Common/ALiPay/AlipaySDK.framework/AlipaySDK’ do

Qt5.9連線MySql5.7.17錯誤解決辦法(錯誤提示:QMYSQL driver not loaded)

我用Qt5.9新建一個Console控制檯程式,用Qt5.9Console控制檯測試連線MySql5.7.17資料庫時,出現MySql資料庫驅動不可用,具體的程式碼和錯誤如下所示:1.1程式碼如下:(記得在.pro問價裡面新增QT+=sql)#include<QCore

lnk1104和lnk1181 編譯錯誤解決辦法

錯誤資訊:fatal error LNK1104: 無法開啟檔案“CAClient.lib” 原因和解決方法: 我在CAClient工程中設定CANetwork為其工程依賴項,在CANetwork中又連結CAClient.lib。結果是,VC首先編譯CAClient工程,編譯時,發現依賴項CANetwork,

VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage編譯錯誤解決辦法

VS2008編譯程式時出現錯誤:VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage 解決辦法如下: 1、開啟專案的屬性對話方塊; 2、依次找到配置屬性->連結器; 3、

"error LNK2001: 無法解析外部符號 _sscanf " 問題 解決方法

問題場景: 使用VS2015的軟體開發環境中,在引用第三方檔案庫時,出現了 “libx264.a(ratecontrol.o) : error LNK2019: 無法解析的外部符號 _sscanf,該符號在函式 _x264_ratecontrol_new 中被引用” 等錯誤

VS下QT外掛 連線資料庫出現error LNK2019: 無法解析外部符號QSqlDatabase問題解決

出現如下錯誤: error LNK2019: 無法解析的外部符號 "__declspec(dllimport) public: __thiscall  QSqlDatabase::~QSqlDatabase(void)" ([email protected]@[e

關於無法解析外部符號錯誤問題 socket

1) 有這麼一種情況,原因是你沒有把靜態庫連結到你的工程中! 比如:如果你要寫網路程式那麼就要用到Socket,你必須要把Socket的標頭檔案#include進來,比如你加了: #include <Winsock2.h> 但是隻加了這句的話,你編譯的時候就可能

VC++編譯lua庫 無法解析lua符號問題

dsm div number blog reg gist html name dpa VC編譯lua庫 出現錯誤: 錯誤 36 error LNK1120: 21 個無法解析的外部命令 C:\Users\luozhuang\Desktop\onscripter

開啟Hadoop2.6.0出現ssh無法解析主機名等錯誤提示的解決辦法

hd-m1: starting namenode, logging to /hadoop/hadoop-2.6.0/logs/hadoop-root-namenode-hd-m1.out HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Tem

Qt5編譯時出現 ---> No such file or directory錯誤解決辦法

解決辦法: 安裝libqt4-devsudo apt-get install libqt4-dev安裝完後開啟qtcreator, 在設定裡面新增qt4版本的qmake. 路徑在 /usr/bin/qmake-qt4. 新增完後把編譯環境那裡也改一改, 然後重新編譯就解

異常解決:Hadoop啟動出現ssh無法解析主機名等錯誤提示

這幾天終於把Hadoop折騰起來了,自從本科畢設做完就再沒接觸過,現在研究生論文又拾起來了,不過以前用的是Hadoop0.20.0,最新的穩定版本已經升到2.7.1了,對於我這停留在原先版本的人來說,改動還是挺大的。 先說一下剛搭建執行時報的錯誤: WA

無法識別的屬性“targetFramework”。請註意屬性名稱區分大小寫。錯誤解決辦法

詳細 style size 無法 authent otn 文件 解決辦法 idt “/CRM”應用程序中的服務器錯誤。 配置錯誤 說明: 在處理向該請求提供服務所需的配置文件時出錯。請檢查下面的特定錯誤詳細信息並適當地修改配置文件。 分析器錯誤消息: 無法識別的屬性“

(轉)ubuntu源碼編譯安裝php常見錯誤解決辦法

ttf tar.gz mcr ibm 地址 sin make zip .org 原文地址 http://blog.csdn.net/white__cat/article/details/28907535 ‘./configure’ ‘–prefix=/usr/lo

PHP編譯安裝時常見錯誤解決辦法

containe -c libmcrypt led form vpx char win sta PHP編譯安裝時常見錯誤解決辦法 This article is post on https://coderwall.com/p/ggmpfa configur