• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 70, 文章 - 0, 評(píng)論 - 9, 引用 - 0
            數(shù)據(jù)加載中……

            msvc的dill在mingw下的使用

            問(wèn)題提出:
            別人提供MSVC下編譯好的dll動(dòng)態(tài)庫(kù),我需要調(diào)用并在MinGW下編譯。


            1  直接鏈接dll,當(dāng)然行不通。

            2  鏈接MSVC下編譯dll時(shí)產(chǎn)生的lib函數(shù)符號(hào)表,仍有問(wèn)題,函數(shù)定義找不到。

            3  通過(guò)reimp工具將MSVC下的lib轉(zhuǎn)為.a,失敗。

            4  通過(guò)pexports工具,根據(jù)dll生成def文件,再通過(guò)dlltool生產(chǎn).a文件,仍然報(bào)告找不到函數(shù)定義。
                pexports testdll.dll>testdll.def,//是否需要sed工具加入,還有待考證
                dlltool -d testdll.def -D testdll.dll -l libtestdll.a    //是否需要-U 選項(xiàng),加了仍然失敗


            以上都是通過(guò)g++產(chǎn)生的問(wèn)題。
            如果是gcc來(lái)編譯C項(xiàng)目,那么可以直接鏈接MSVC的lib。

            至此,還沒(méi)有找到g++編譯MSVC下的dll方法。有網(wǎng)友如此說(shuō)明:
            They have exported C++ classes from their dll, rather than C-functions. The difference is, c++ functions are always exported with names in a mangled form that is specific to a particular version of the compiler.

            Their dll is usable by msvc only in that form, and will probably not even work between different versions of msvc, as Microsoft have changed their mangling scheme before.

            If you have any leverage, you need to get them to change their evil ways. Otherwise you will need to use MSVC to write a shim dll, that will import all the classes, and re-export them via c functions that return interfaces.

            其他參考資料有:
            http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs            可繼續(xù)加入sed工具嘗試
            http://stackoverflow.com/questions/2472924/linking-to-msvc-dll-from-mingw    可惜找不到發(fā)帖人的聯(lián)系方式
            http://www.360doc.com/content/10/0907/16/169163_51891922.shtml    僅是簡(jiǎn)單的命令操作
            http://wiki.videolan.org/GenerateLibFromDll    還未嘗試

            posted on 2011-01-04 16:58 seahouse 閱讀(2309) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 編譯

            亚洲一本综合久久| 亚洲精品无码久久久久| 蜜臀av性久久久久蜜臀aⅴ| 中文字幕精品久久| 国产精品欧美久久久久无广告| 99国产欧美精品久久久蜜芽| 三上悠亚久久精品| 午夜不卡久久精品无码免费| 亚洲国产精品高清久久久| 午夜精品久久久久久毛片| 久久人人爽人人爽人人片av高请| 精品一二三区久久aaa片| 亚洲中文久久精品无码ww16| 伊人久久大香线蕉AV色婷婷色| 国产A三级久久精品| 久久久老熟女一区二区三区| 成人久久精品一区二区三区| 久久综合丁香激情久久| 91精品国产91久久久久久青草| 久久综合狠狠综合久久激情 | 亚洲日韩欧美一区久久久久我 | 久久综合狠狠综合久久97色| 青青热久久国产久精品 | 狠狠色丁香久久婷婷综合蜜芽五月| 色8激情欧美成人久久综合电| 99久久综合国产精品免费| 无码国内精品久久人妻| 色噜噜狠狠先锋影音久久| 亚洲国产成人精品女人久久久 | 久久久婷婷五月亚洲97号色| 久久亚洲高清观看| 合区精品久久久中文字幕一区| 99久久国产精品免费一区二区| 久久中文骚妇内射| 久久影视综合亚洲| 国产欧美久久久精品| 伊人久久大香线蕉综合网站| 99久久这里只有精品| 久久久久久久女国产乱让韩| 久久国产精品一区二区| 蜜桃麻豆WWW久久囤产精品|