I am a complete novice to C++ programming.
I need to create a DLL using header and solution files that were provided in a tutorial. I have followed basic steps from here but, I am getting following errors in the solution file:
L111
!CreateProcess(L".\\phreeqc\\phreeqc.exe",
L112
TEXT(".\\phreeqc\\phreeqc.exe .\\phreeqc\\phreeqc_input.txt .\\phreeqc\\phreeqc_input.out .\\phreeqc\\wateq4f_plus.dat")
Errors:
L111
C2664 'BOOL CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFLOW,LPPROCESS_INFORMATION)': cannot convert argument 2 from 'const wchar_t[105]' to 'LPWSTR'
L112
E0167 argument of type "const wchar_t*" is incompatible with parameter of type "LPWSTR".
I understand that the specifics in the above lines of code will not mean much to many of you but I am hoping that someone can at least understand the C++ error and help out here.
The Unicode version of
CreateProcess
(which is a macro that maps toCreateProcessW
) requires a writable string for thelpCommandLine
parameter, and string literals areconst
. You therefore cannot pass a string literal directly for this parameter.Instead, you can change your code like so:
Documentation here