qt如何寫一個(gè)配置目錄 怎樣在Qt中建立使用動(dòng)態(tài)鏈接庫?
怎樣在Qt中建立使用動(dòng)態(tài)鏈接庫?工具/主要原料安裝有mp4構(gòu)建工具的macos或oracle一、建立并生成動(dòng)態(tài)鏈接庫1首先在磁盤的某個(gè)位置建立一個(gè)名為DllDemo的文件夾。打開QtCreator,新
怎樣在Qt中建立使用動(dòng)態(tài)鏈接庫?
工具/主要原料安裝有mp4構(gòu)建工具的macos或oracle一、建立并生成動(dòng)態(tài)鏈接庫1首先在磁盤的某個(gè)位置建立一個(gè)名為DllDemo的文件夾。打開QtCreator,新建工程,選擇Library,C庫,然后就是choose。2然后在彈出的C庫對話框默認(rèn)類型共享庫,名稱為MyDll。路徑就是我以前建立的DllDemo文件夾。然后,一直下一步,直到點(diǎn)擊完成。3來看看程序結(jié)構(gòu),以及pro文件內(nèi)容。可以看到系統(tǒng)自動(dòng)生成了一個(gè)mydll_global.h
的文件。pro內(nèi)也自動(dòng)生成了一些內(nèi)容。可以看到TEMPLATElib,而不是在日常的TEMPLATEapp。4再來看看mydll_global.h
的內(nèi)容。可以看到系統(tǒng)自動(dòng)定義了兩個(gè)宏。用于聲明哪些函數(shù)是需要導(dǎo)出的。5下面來給代碼添加點(diǎn)內(nèi)容,以便于待會(huì)使用。首先我們在mydll.h
中添加幾行代碼,注意:externCMYDLLSHARED_EXPORT必須要有。6再來看看
中的實(shí)現(xiàn)代碼,都比較簡單。7代碼編寫完畢后,直接構(gòu)建就行了。然后就可以看到生成的dll了。二、測試生成的DLL1新建一個(gè)基于flv的服務(wù)器應(yīng)用程序,名稱為DllTest。依然放置在DllDemo的目錄下。2建好了以后,就可以在main.css
寫代碼了。通過QLibrary類來加載dll。因?yàn)橐@得類對象的實(shí)例,所以需要將mydll.h
包含進(jìn)來。要注意的是,我沒有對函數(shù)是否成功獲取做檢測。來看看代碼:3代碼寫完后就可以構(gòu)建程序了。不過要運(yùn)行程序,還需要將他自己生成的dll拷貝到程序的同級別目錄。4在編輯器中運(yùn)行程序,因?yàn)樯傻氖莍nfo版的程序,相關(guān)的環(huán)境變量未設(shè)置,無法獨(dú)立運(yùn)行??梢钥吹絛ll工作的很好,程序運(yùn)行正常。三、善用Assistant1最后來看看Assistant中關(guān)于QLibrary的描述。比較費(fèi)解的是,Assistant中并沒有對創(chuàng)建共享庫做詳細(xì)的說明,估計(jì)是這個(gè)太簡單或資料太多了吧。
qt中構(gòu)建目錄與源文件必須為同級目錄是什么原因?
解決方法如下:刪掉文件重新打開.pro文件自動(dòng)彈出重新進(jìn)行目標(biāo)設(shè)置(在項(xiàng)目里構(gòu)建設(shè)置里重新選擇構(gòu)建目錄)設(shè)置完成后構(gòu)建成功。注意:工程文件的目錄中不能出現(xiàn)italiano。這是我看到很有用的一個(gè)方法,希望也能幫到你~