[問題] Qt 5.2 static link版本的問題

看板C_and_CPP作者 (師大狗鼻哥)時間11年前 (2014/01/11 00:41), 編輯推噓3(3026)
留言29則, 5人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Windows 8 x64 vc 2012 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) Qt 5.2 static + release 問題(Question): 不好意思 我用的Qt 5.2是自己configure static link的版本 我遇到的狀況是在VC++下我可以用release build project 但是我直接去點執行檔 就會冒出: http://d.pr/i/Islr 這樣的訊息 我在網路上爬過文 不過大部分的解答都是針對有DLL的Qt 有嘗試將官方DLL版本內的DLL搬到執行檔的目錄下 嘗試的結果還是一樣 希望能有大大能幫我解決 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.136.15

01/11 12:14, , 1F
全部 DLL 都有搬嗎?
01/11 12:14, 1F

01/11 12:15, , 2F
特別是那些不是 Qt 自己的 DLL
01/11 12:15, 2F

01/11 14:39, , 3F
看起來執行時他找不到所需要的plugin?@@ 看一下plugin位置有
01/11 14:39, 3F

01/11 14:40, , 4F
沒有放對吧~以linux來說plugin是放在你的prefix底下的plugin
01/11 14:40, 4F

01/11 14:42, , 5F
/platform底下~看你的錯誤是沒有找到"window"這個plugin
01/11 14:42, 5F

01/11 14:42, , 6F
所以看一下路徑有沒有類似libqwindows.dll的檔案吧@@有說錯
01/11 14:42, 6F

01/11 14:43, , 7F
也請幫忙指正@@" 畢竟我是在arm-linux底下試的XD
01/11 14:43, 7F

01/11 15:11, , 8F
F大 我是用static link所以dll的用處不大吧?
01/11 15:11, 8F

01/11 16:16, , 9F
我懷疑你沒有成功將整個 Project 做 static link
01/11 16:16, 9F

01/11 16:16, , 10F
也就是目前可能是 Qt lib 部分(不包含 plugin) 是 static而已
01/11 16:16, 10F

01/11 16:19, , 11F
你專案的 CONFIG 是 static 嗎?
01/11 16:19, 11F

01/11 16:22, , 12F
plugin 的部分應該要在 CONFIG 另外設 static
01/11 16:22, 12F

01/11 16:46, , 13F
不是所有都可以 static link,webkit 就不行
01/11 16:46, 13F

01/11 16:46, , 14F
你可能有用到不能 static link 的程式碼
01/11 16:46, 14F

01/11 17:10, , 15F
我只有先用基本的範例做測試 結果還是不行
01/11 17:10, 15F

01/11 17:11, , 16F
donby大 我只有找到qtwindows.lib而已欸
01/11 17:11, 16F

01/11 18:06, , 17F
你是說在plugin/platform底下找到嗎? 那那個應該就是了
01/11 18:06, 17F

01/11 18:08, , 18F
以arm-linux來說~程式編好要執行時可以指定要跑的平台~以我
01/11 18:08, 18F

01/11 18:08, , 19F
的板子來說~我是跑在eglfs底下~所以在plugin/platform底下會
01/11 18:08, 19F

01/11 18:09, , 20F
有個.so叫libqeglfs.so~我沒跑過windows的~但看起來也是被編
01/11 18:09, 20F

01/11 18:10, , 21F
成妳說的qtwindows.lib(不確定) 不過我想起一件事情了@@"
01/11 18:10, 21F

01/11 18:12, , 22F
如果範例要用static link~.so或.dll不能直接引入~要改寫一下
01/11 18:12, 22F

01/11 18:16, , 23F
要在你的code裡面利用Q_IMPORT_PLUGIN來告訴Qt你是在static
01/11 18:16, 23F

01/11 18:17, , 24F
link情況下使用plugin~細節有需要我再跟你說怎麼寫(code不在
01/11 18:17, 24F

01/11 18:18, , 25F
手邊XD) 關鍵字應該就是上面那個~如果還是不行的話那說不定
01/11 18:18, 25F

01/11 18:19, , 26F
Qt5.2還不能跑static link XD 以上有錯也請指正囉@@
01/11 18:19, 26F

01/11 18:49, , 27F
即使 static build, plugins 還是要另外處理, 看你要讓它
01/11 18:49, 27F

01/11 18:51, , 28F
們另外載入還是怎樣 (qtwindows.lib 應該是無法靜態編譯)
01/11 18:51, 28F

01/11 18:51, , 29F
01/11 18:51, 29F
文章代碼(AID): #1Iq9Cfpt (C_and_CPP)
文章代碼(AID): #1Iq9Cfpt (C_and_CPP)