今天在使用ADO的時候,遇到一個怪怪的LINK ERROR
comsuppw.lib(comutil.obj) : error LNK2005: "class _variant_t vtMissing" (?vtMissing@@3V_variant_t@@A) already defined in comsupp.lib(comutil.obj)
../bin/xxx.exe : fatal error LNK1169: one or more multiply defined symbols found
問題在於新加入使用的模組和原來整個PROJECT的編譯設置選項不一樣,所以把這選項關閉就可以囉!!選擇No (/Zc:wchar_t-)。
現在vc2005的預設是開啟的Treat wchar_t as Built-in Type,如果你使用的lib在編譯時這選項是No,那在使用這lib時候就會出現這樣的錯誤,所以在這邊就把它關閉了!!
ADO 用到comsupp.lib而我們使用comsuppw.lib
MSDN上面也有說明:http://msdn.microsoft.com/en-us/library/dh8che7s(VS.80).aspx