_ATL_MIN_CRT
-
Hello all the ATL/COM/C++ gurus!!! The little and unnoticed ATL beginner desparately needs your help. I am trying to build my project with ReleaseMinSize configuration with _ATL_MIN_CRT flag. Note that I don't have any runtime header files included, but I use #import-ed VB-based COM objects. Note that I disabled "exception handling" mechanisms and MFC support. All data types I am using are _com_ptr_t, _bstr_t, _variant_t from import-created .tlh and .tli files, plus regular C/C++ scalar types. My problem: link error 2001 with the bunch of unresolved external symbols. Does anyone know where the problem is. BIG TIME thanks to all with the BIG heart. Kirill.
-
Hello all the ATL/COM/C++ gurus!!! The little and unnoticed ATL beginner desparately needs your help. I am trying to build my project with ReleaseMinSize configuration with _ATL_MIN_CRT flag. Note that I don't have any runtime header files included, but I use #import-ed VB-based COM objects. Note that I disabled "exception handling" mechanisms and MFC support. All data types I am using are _com_ptr_t, _bstr_t, _variant_t from import-created .tlh and .tli files, plus regular C/C++ scalar types. My problem: link error 2001 with the bunch of unresolved external symbols. Does anyone know where the problem is. BIG TIME thanks to all with the BIG heart. Kirill.
Those
xxx_t
types are provided by the C runtime library (CRT). Defining _ATL_MIN_CRT means your binary doesn't link with the CRT. Since your code needs the CRT, you get an unresolved symbol. Remove the _ATL_MIN_CRT symbol to fix this. The help page on LNK2001 has more info. --Mike-- http://home.inreach.com/mdunn/ The Signature, back by popular demand: Buffy. Pajamas. -
Those
xxx_t
types are provided by the C runtime library (CRT). Defining _ATL_MIN_CRT means your binary doesn't link with the CRT. Since your code needs the CRT, you get an unresolved symbol. Remove the _ATL_MIN_CRT symbol to fix this. The help page on LNK2001 has more info. --Mike-- http://home.inreach.com/mdunn/ The Signature, back by popular demand: Buffy. Pajamas. -
Those
xxx_t
types are provided by the C runtime library (CRT). Defining _ATL_MIN_CRT means your binary doesn't link with the CRT. Since your code needs the CRT, you get an unresolved symbol. Remove the _ATL_MIN_CRT symbol to fix this. The help page on LNK2001 has more info. --Mike-- http://home.inreach.com/mdunn/ The Signature, back by popular demand: Buffy. Pajamas. -
If possible, you may also use raw_interfaces_only and raw_native_types with your #import directive, then subsitute _com_ptr_t, _bstr_t, _variant_t with CComPtr/CComQIPtr, CComBSTR and CComVariant.
Thanks Felix. This will definitely raise me from ATL HELL. The problem with those #import's - lack of documentation and examples. I only understood no_namespace, rename_namespace, rename and named_guids (the easiest ones). All other flags had been complete mystery. Kirill.