U++ framework
Do not panic. Ask here before giving up.

Home » Developing U++ » UppHub » A terminal emulator widget for U++
Compile problem on WIN10 [message #58812 is a reply to message #51415] Tue, 13 September 2022 15:15 Go to previous messageGo to previous message
peterh is currently offline  peterh
Messages: 108
Registered: November 2018
Location: Germany
Experienced Member
Hi, I tried TerminalLayoutExample and some other Examples.

These show a compilation error on WIN 10. It doesnt matter if I use CLang or MSVC.

HANDLE WinPtyCreateProcess(const char *cmdptr, const char *envptr, const char *cd, winpty_t* hConsole)
{
	Buffer<wchar> cmd, env;
	sCmdToUnicode(cmd, cmdptr);
	sEnvToUnicode(env, envptr);

	auto hSpawnConfig = winpty_spawn_config_new(
		WINPTY_SPAWN_FLAG_AUTO_SHUTDOWN,
		cmd,                          //error here
		nullptr,
		cd ? ~WString(cd) : nullptr,  //error here
		env,                          //error here
		nullptr);

C:\upp\UppHub\TerminalCtrl\PtyProcess\Win32Pty.cpp (104): error: no matching function for call to 'winpty_spawn_config_new'
 (): auto hSpawnConfig = winpty_spawn_config_new(
C:\upp\UppHub\TerminalCtrl\PtyProcess/lib/include/winpty.h (170): note: candidate function not viable: no known conversion from 'Buffer<Upp::wchar>' (aka 'Buffer<unsigned long>') to 'LPCWSTR' (aka 'const wchar_t *') for 2nd argument
 (): winpty_spawn_config_new(UINT64 spawnFlags,
 (): 1 error generated.


It cannot convert from Buffer<wchar> to LPCWSTR.
I tried to fix it, but no sucess.

My C++ and Upp knowledge is very limited, C knowledge is pretty good.
It happens with Build 16324 and with the stable Build.
Edit:
I can compile it by this modification:
	auto hSpawnConfig = winpty_spawn_config_new(
		WINPTY_SPAWN_FLAG_AUTO_SHUTDOWN,
		(wchar_t *) ~cmd,
		nullptr,
		(wchar_t *) (cd ? ~WString(cd) : nullptr),
		(wchar_t *) ~env,
		nullptr);

Then it compiles and runs, it opens a window, and closes it immediately without any error message.
I dont think this is the intended behaviour.

[Updated on: Tue, 13 September 2022 18:39]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message icon14.gif
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: SerialPort & SerialPortListener class
Next Topic: Added NetCDF library
Goto Forum:
  


Current Time: Wed Jun 10 06:05:18 GMT+2 2026

Total time taken to generate the page: 0.01579 seconds