Donald Trump arrived in Brussels as thousands of demonstrators took to the streets and the Belgian prime minister said he spoke with the US president "without taboos".
Mr Trump, who a year ago said Brussels had turned into a "hellhole", oozed charm as he met with Belgian King Philippe and moved onto a powwow with top ministers on the eve of a Nato summit, the main event of his two-day stopover in Belgium.
Prime Minister Charles Michel said he insisted that Mr Trump should unequivocally back the Paris Agreement on climate change and honour the US commitment to multilateral trade agreements, two issues about which Mr Trump has raised doubts.
"It was a discussion without taboos. There was no diplomatic language. The messages were direct from both sides," Mr Michel said of their meeting.
Climate change will take centre stage at a G-7 meeting in Sicily on Friday, and Mr Trump has yet to clearly commit to respecting the landmark Paris Agreement aimed at controlling global warming.
Mr Trump and Mr Michel said they were on the same page when it came to terrorism, once again an immediate topic in Europe in the wake of the Manchester attack this week.
"We will win. 100%," said Mr Trump, whom Mr Michel called an ally in the global fight against terror.
About a mile away, thousands of protesters shouting "We don't want Trump! We don't want Trump!" were not as kind towards the visiting president.
They harangued Mr Trump on everything from his plans to build a wall on the US-Mexican border to his treatment of women and promotion of the coal industry.
"We are here today because we are against sexism. This is my main reason, and I find Trump really horrible," demonstrator Dorien Vanden Boer said.
The route of the marchers stayed away from the US Embassy and the Royal Palace, where Mr Trump was holding meetings.
He had a light schedule in Brussels on Wednesday before talks with European Union top officials scheduled for Thursday morning and a full summit of Nato leaders in the evening.
Mr Trump plans to fly to Sicily late on Thursday.