2017-09-13 77 views
0

我從VC++ 2013獲取鏈接器錯誤消息:爲什麼我的C++ ATL項目鏈接在CIL中?

1>* CIL library *(* CIL module *) : 
error LNK2005: [email protected] already defined in mfcs120u.lib(dllmodul.obj) 

我需要的MFC一個,而不是一個.NET相關的庫。這是一個純粹的C++項目,包含「ATL簡單對象」的COM DLL,並且在常規項目設置中選擇「無公共語言運行時支持」。我實際上只是嚮導創建它,它具有與其他工作COM DLL相同的設置。

這個CIL庫怎麼可能最終在構建?

+0

通常,頭文件將指定要鏈接的庫。請嘗試掃描包含的所有頭文件,以查看它們中的任何一個是否是原因。 –

+0

@MarkRansom謝謝。我認爲錯誤信息實際上是誤導性的,並且與通用中間語言完全沒有關係。 –

回答

1

OK,如果有人需要這個以供將來參考:

當MFC頭將被添加到其使用MFC在ATL嚮導項目創建過程中未選擇ATL項目會出現這種情況。

原因:對於啓用MFC的COM DLL,生成的dllmain.cpp有點不同,但稍後在查看向導輸出時很容易適應。

相關問題