Hi Team,
I am new to the CLING interpreter. Currently, we are using CINT interpreter in our project for writing C++ scripts and we are using VS2012.
Since CINT is not supprorted on VS2019, we are looking at using CINT alternative CLING interpreter and migrate our project to VS2019.
The way CINT is used in our project is as below:
Generate a .cxx file which contains all the declarations of functions used in my project(MSVP) using the below command
.\cint.exe -w0 -nG__cpp_SVP.cxx -D__MAKECINT__ -DG__MAKECINT -c-1 -A -I…\Jessica\Comm\ -I…\Jessica\Sas\ -I…..\Common_Lib\ParameterHandler\Inc -I…..\Base_Lib\msvp_com -I…..\Common_Lib\MSVP_Namespace -I…..\SAS_Lib\mstk_com -I…\LibCint\cint\lib -I…\CommonAPI -I…\LibCint -I…..\Infusion_LIB -I…..\SAS_Lib\scwl -I…..\SAS_Lib\scwl\Buffer -I…..\SAS_Lib\Inc -I…..\SAS_Lib\sdil -I…..\Base_Lib\CoreLogger -I…\SED_Lib\SED_CINT\ -I…\SED_Lib\SED_LIB\ -I…\SED_Lib\SED_API\ -I…..\MSTK_LIB\Framework\Inc -I…\Jessica_MSTK\Comm -I…..\SSuite_Lib\SSuite -I…..\SSUITE_Lib\Stor_CLI -I…/…/Base_Lib/MSVPConfiguration -I…/…/Base_Lib/DrvOOB -I…/…/Base_Lib/CommonAPI -I…/…/Base_Lib/Inc -DG__REDIRECTIO -DG__SHAREDLIB -D_SAS -DG__WIN32 -DWIN32 -D_WIN32 -DG__NEWSTDHEADER -D_CRT_SECURE_NO_DEPRECATE=1 -DG__HAVE_CONFIG -DG__NOMAKEINFO MSTK_SCSI_Cmd.h MSTK_SCSI_Helper.h TOOB.h CommonAPI.h ParameterDictionary.h SED.h Sas_Namespace.h PMU_Namespace.h SasCommApi.h Jessica.h IoStress.h JessicaType.h CintUtility.h BufferPattern_MSTK.h DeviceCtx_MSTK.h IoStress_MSTK.h IoStressType_MSTK.h LBAList_MSTK.h StressOperation_MSTK.h MSTK_SCSI_Cmd_RFX.h ResultUpdator.h
Then , we build a CINT.dll using the above generated .cxx file and all the other source files of CINT
So, how should I proceed here if I want to use CLING in place of CINT in my project??
Any help/inputs would be greatly appreciated!
Thanks,
Prabhuraj
I am not sure whats the issue with the inclusion of windows standard header file “atlstr.h” into the CLING interpreter?
I see the error as below upon including any header file that has <atlstr.h> header file in it:
[cling]$ .L MSVP_Replication.h “[runStaticInitializersOnce]: Failed to materialize symbols: { (main, { ?ATL_CREATE_OBJECT@CComApartment@ATL@@2IA, ??C@”
Can you please let me know whats the issue here with “atlstr.h” header file inclusion?
OK, I found the origin of the issue (FYI @vvassilev@Danilo): this is the implicit using namespace std; in the interpreter.
A simple example (without cling or root involed):
#include <iostream>
using namespace std;
#include <atlstr.h>
int main() {
std::cout << "hello world!" << std::endl;
return 0;
}
produces:
C:\Users\bellenot\rootdev>cl -nologo -MD -GR -EHsc -Zc:__cplusplus -std:c++17 atlstr.cxx
atlstr.cxx
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(192): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(962): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(970): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypesbase.h(437): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypesbase.h(462): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypesbase.h(479): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypes.h(77): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypes.h(86): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypes.h(92): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypes.h(98): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypes.h(104): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypes.h(110): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\wtypes.h(485): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidlbase.h(2175): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidlbase.h(2189): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidlbase.h(7882): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidlbase.h(7898): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(9746): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(10275): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(10307): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(10786): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(10801): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(11244): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(12977): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(12992): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(14658): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(14674): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(14821): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(14860): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(14877): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(14894): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(15139): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\objidl.h(15158): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\oaidl.h(563): error C2872: 'byte': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\cstddef(28): note: or 'std::byte'
C:\Users\bellenot\rootdev>
And when removing the using namespace std; line, there is no error: