0
在VS2005中,我使用了_cdecl調用約定,並且該項目的構建沒有任何鏈接器錯誤。我改變調用約定,而移植項目VS2008到_stdcall後,我得到以下錯誤:將調用約定從cdecl更改爲stdcall
錯誤LNK2001:解析外部符號__imp__GCBOpen @ 8。
配置設置> C^\ C++> GENRAL>公共語言運行庫支持設置爲無公共語言運行庫支持
我想清楚需要,爲了解決這個問題做任何項目的設置或更改代碼的幫助。 任何幫助表示讚賞。
三江源:
這將是更好的。它actaullay解決了這個問題。 我還有一個問題。 由於GCBOpen是一個導入函數,函數聲明應該有「extern」關鍵字。 爲什麼代碼在調用約定爲__cdecl時沒有指定「extern」? – Lakshmi 2010-08-09 20:32:12
'extern'被假定爲不是'static'的函數聲明,所以你不需要明確地指定它。我不知道爲什麼我堅持寫我自己的聲明...... – 2010-08-09 21:05:43