推 QQ29:我兩套都有裝 我單純想了解 該怎麼做一個lib 可以給其他平台 01/19 23:47
→ QQ29:甚至 非vc 的 compiler來編譯@@ 我實在很不了解他一堆error是 01/19 23:47
→ QQ29:為什麼..我之前抓別人的lib在VC9 VC8 都可以使用..想知道怎做 01/19 23:48
→ mingtai1:如果都是source code,用的都是standard library就可以 01/19 23:52
→ mingtai1:非VC編譯,你若要拿WIN32 API去gcc編譯當然就不可能 01/19 23:54
推 QQ29:恩~若都win32的 不知該怎做到 任何VC都給compile過 01/20 00:01
→ mingtai1:只要有Source理論上都能編譯,除非是被拿掉的語法或不相容 01/20 00:04
→ mingtai1:非source level的,ex. 08編出來的lib拿去10用才有問題 01/20 00:05
→ mingtai1:不然就不會出現2008/2010轉散發套件這種東西了 01/20 00:05
→ mingtai1:另外你若用某些新template語法 拿去舊的VC也是會編不過.. 01/20 00:06
推 littleshan:啊?為什麼gcc不能呼叫win32 api? 01/20 00:07
→ mingtai1:L大:說錯了,我是指WINDOWS API(windows.h/winnt.h..)那些 01/20 00:13
→ mingtai1:gcc部分再修正一下,發現MinGW原來裡面也有那些header,所 01/20 00:30
→ mingtai1:以應該是可以(只是不確定是否有100% 支援VC有的header?) 01/20 00:31
推 yayarice:要做到一個lib給任何版本的VC都過 不太可能 01/20 00:34
→ tropical72:@min~: 沒有百分百支援,但常用的api是夠的,只是在連結 01/20 00:36
→ tropical72:.o 時會麻煩一點點,要去找原本的lib對應到哪個.o 01/20 00:36
→ mingtai1:感謝t大補充^^ gcc我通常在X-Window上用所以MS上較不熟.. 01/20 00:42
推 QQ29:抱歉 那可以提示我前一篇 1.的觀念有沒有錯嗎@@ 01/20 00:50
→ tropical72:你無法確定2008與2010調用的dll裡面的func name是一樣, 01/20 00:57
→ tropical72:就不能確定這件事. 01/20 00:58
推 QQ29:1那如果是自己export的函式會有不同mangling的問題嗎 01/20 01:53
→ tropical72:調有不同dll就有可能。 01/20 02:09
推 dk3208:Q大有檢查過link run time的方式相同嗎?(MT or MD) 01/20 11:51
→ dk3208:binary的size可能是差在run time有沒有包進lib裡 01/20 11:52
→ shayi1983:關於run time, 在Visual Studio 2010的c++ compiler中, 01/20 15:23
→ shayi1983:以經移除掉ML\MLD,改用多線程的MTD\MT 01/20 15:25
噓 shayi1983:MT與MD都沒有用Debug,但都是多線程,MD是多線程DLL 01/20 15:30
推 QQ29:恩~雖然跟這設定不熟~但我看兩個專案這部分應該是一樣的@@ 01/20 15:31
→ shayi1983:像我在使用時,都用帶有Debug的多線程模式(MTd) 01/20 15:32