我正在使用VS2008在現有的C++ COM DLL上進行開發。_ATL_APARTMENT_THREADED和_ATL_FREE_THREADED衝突
編譯器說: 「中定義多個全局線程模型」
得到這個定義:
#define _ATL_APARTMENT_THREADED
我初始化COM此:
CoInitialize(NULL);
但我找不到_ATL_FREE_THREADED的定義。編譯器警告表明兩者都必須在某處定義。但我不知道在哪裏可以找到_ATL_FREE_THREADED。
任何想法,爲什麼我得到編譯器味精?
感謝克林斯曼
感謝您的提示。但我怎樣才能避免得到這個警告? – juergen 2011-03-09 12:49:05
@juergen:顯然你在代碼中的不適當的時候定義了這個符號。正確的做法是首先定義符號,然後包含ATL字符。 – sharptooth 2011-03-09 12:51:26
啊,我明白了。會做。謝謝! – juergen 2011-03-09 12:52:52