2011-01-27 47 views
1

我最近開始爲本地C++庫編寫C++/CLI包裝器。現在我得到這個編譯警告STA,MTA衝突警告重要?

「警告LNK4249:指令‘/ CLRTHREADATTRIBUTE:STA’帶命令行的衝突;忽略」

我的C++/CLI包裝設置爲MTA在鏈接器的命令行參數,但我不知道什麼文件或項目試圖給STA指令。

我做了足夠的閱讀來擔心.NET強制庫變成多線程。我讀過這主要影響我的應用程序使用COM,但我不確定是否或在哪裏我的DLL使用COM。我使用互操作服務編組字符串數據,並使用'msclr \ auto_gcroot.h'指向非託管類的託管類。在被包裝的原生C++庫,我包括以下標題:

#include <afxwin.h> // MFC core and standard components 
#include <afxext.h> // MFC extensions 
#include <afxmt.h> 
#include "Winsock2.h." 
#include <time.h> 

沒有任何人有任何建議,可以幫助我在將來避免痛苦的經歷,還是應該我只是不擔心嗎?

回答

0

到目前爲止好。我還沒有看到任何真正的問題,我認爲這只是因爲MFC是一個單線程庫,所以它想要這樣編譯。所以,對於我的情況,我認爲只要我對待所有的MFC對象,而不是線程安全的,我會沒事的。

相關問題