[問題]關於MinGW使用MSVC所編譯出來的library

看板C_and_CPP作者 (悶...)時間15年前 (2010/06/17 07:13), 編輯推噓3(306)
留言9則, 6人參與, 最新討論串1/2 (看更多)
請教各位前輩, 我目前撰寫QT程式, 手邊有用MSVC所編譯好的 *.dll和 *.lib 想說直接加進來給QT使用, 但編譯時發現會有如下的錯誤... undefined reference to `xxx::xxx()' GOOGLE了一下才發現, 原來MinGW要使用MSVC所編譯出來的 *.lib 需要用一些tool將 *.lib轉為 *.a才能讓MinGW順利讀取到library... 這篇連結有教如何作轉換... http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs 但我在 pexports testdll.dll | sed "s/^_//" > testdll.def 卻出了問題...原因是 "sed"不是命令或外部命令... 請問該怎麼讓 sed 命令可以順利啟動呢~? 若版上有前輩MinGW使用MSVC所編譯出來的 *.lib經驗, 也麻煩您指教!謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.76.129

06/17 15:16, , 2F
google "reimp"
06/17 15:16, 2F

06/17 15:40, , 3F
reimp我在pexports步驟前就有使用, 但仍無法被QT順利呼叫
06/17 15:40, 3F

06/17 15:42, , 4F
我是參考此網址 http://0rz.tw/CyS5Q , 但沒用說
06/17 15:42, 4F

06/17 17:43, , 5F
就算轉出來我想你也不能用,因為 C++ 有 name mangling
06/17 17:43, 5F

06/17 17:44, , 6F
VC 的 name mangling 方式與 GCC 不同,因此不能混用
06/17 17:44, 6F

06/17 19:54, , 7F
何不在Windows下裝個MSYS...維基百科找一下MSYS
06/17 19:54, 7F

06/23 15:15, , 8F
QT的教學上說,如果在win32環境 pro檔加上 LIBS+=xxx.lib
06/23 15:15, 8F

06/23 15:16, , 9F
用-lxxx 好像常常會有問題
06/23 15:16, 9F
文章代碼(AID): #1C6Shyxa (C_and_CPP)
文章代碼(AID): #1C6Shyxa (C_and_CPP)