看板 C_and_CPP 關於我們 聯絡資訊
先確認你電腦是裝VS 2010還是2008 如果是2010, 應該直接抓他們的2010 solution來build吧, 不要開2010 project 再去link 2008的 static lib 2010 compiler對於lib的使用行為 跟2008做出來的lib 預設給人用的行為 可能有出入..細節我不知道 我自己是用VS 2008 抓了KompexSQLiteWrapper-Source_1.7.9.zip 可以build過. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 119.77.223.81 ※ 編輯: mingtai1 來自: 119.77.223.81 (01/19 23:22)
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