VC++ 的 error LNK2005

真是機車的問題,搞半天搞不定
我一直以為是自己亂改改壞掉了….
後來在 MSDN 裡找到這個:

PRB: LNK2005 Errors When Link C Run-Time Libraries Are Linked Before
MFC Libraries

http://support.microsoft.com/default.aspx?scid=kb;en-us;q148652

簡言之就是去找出 afx.h 這個檔案,我在這找到的
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include

打開檔案找出 #ifndef _AFX_NOFORCE_LIBS 與 #endif //!_AFX_NOFORCE_LIBS
把這兩行之間的內容抓出來另外存成一個新的 header file
裡面的內容大概就是指示 linker 要照什麼順序去做 linking 的動作

只要沒有引入 stdafx.h 的檔案都需要加入這個檔案
而且要在放在最前面,不然沒用….

Leave a Reply