I am by no means an expert. but try initializing your view and viewport a bit differently.
I declare my view in my class header file, then reset it and set the view port later.
static sf::View currentView;
currentView.Reset(sf::FloatRect(0, 0, 768, 768));
currentView.SetViewport(sf::FloatRect(0.f, 0.f, 0.75f, 1.f));
//I then move my viewport by changing it's center
currentView.SetCenter(100,100);
//then update the renderwidnows view
window.SetView(currentView);
this appears to work just fine for me.
EDIT:
it appears if I just change your viewport init then it works fine, not sure exactly why
#include "SFML\Graphics.hpp"
int main()
{
sf::RenderWindow window;
window.Create(sf::VideoMode(800,600), "sf::Viewport test");
sf::View view = window.GetView();
view.SetViewport(sf::FloatRect(0, 0, 1, 1));
window.SetView(view); //if I comment out this line I get the expected black window with white circle in the middle
sf::Shape shape = sf::Shape::Circle(sf::Vector2f(window.GetWidth() /2, window.GetHeight() /2), 50, sf::Color::White);
while(window.IsOpened())
{
sf::Event e;
while(window.PollEvent(e))
{
if(e.Type = sf::Event::Closed)
window.Close();
}
window.Clear();
//window.SetView(view);
window.Draw(shape);
window.Display();
}
return EXIT_SUCCESS;
}