See http://wiki.ros.org/Installation/Windows to install ROS noetic on Windows, and then open the ROS Command Window shortcut. Check using set command if you have special characters in some environment variables and remove them if needed since it may cause problems, e.g. I got OneDrive=C:\Users\Administrator\OneDrive - Ecole Nationale Supérieure de Techniques Avancées Bretagne OneDriveCommercial=C:\Users\Administrator\OneDrive - Ecole Nationale Supérieure de Techniques Avancées Bretagne which have special characters, so I remove those variables temporarily set OneDrive= set OneDriveCommercial= To create a simple project, we can take http://www.clearpathrobotics.com/assets/guides/kinetic/ros/Creating%20publisher.html as an example md c:\catkin_ws\src cd c:\catkin_ws\src catkin_init_workspace catkin_create_pkg random_driver roscpp std_msgs rem Create Main.cpp and edit CMakeLists.txt, see https://www.ensta-bretagne.fr/lebars/tutorials/catkin_ws_hello.zip, or https://github.com/ENSTABretagneRobotics/SATURNE_simulation (which needs https://github.com/lebarsfa/Packages/tree/main/choco/ros-noetic-hector_gazebo_plugins) for a more complicated project cd .. devenv (open C:\catkin_ws\, set in C:\catkin_ws\src\CMakeSettings.json everything in RelWithDebugInfo (if ROS installed in Release, see https://stackoverflow.com/questions/21975715/rosinit-throws-an-error-windows-roscpp and https://github.com/Brabalawuka/RosOnWindows) "generator": "NMake Makefiles", "buildRoot": "${workspaceRoot}\\build", "installRoot": "${workspaceRoot}\\install", "cmakeCommandArgs": "-D CATKIN_DEVEL_PREFIX=\"${workspaceRoot}\\devel\"", then you can debug) Otherwise, it is also possible to build and run outside Visual Studio IDE catkin_make devel\setup.bat rosrun random_driver node rem If the wrong Python version appears to be used, try to remove any other Python version from Windows PATH, or try also something like catkin_make -DPYTHON_EXECUTABLE=%ROS_ROOT%\..\..\python.exe... rem To debug, see https://docs.microsoft.com/en-us/visualstudio/debugger/debug-multiple-processes?view=vs-2019#BKMK_Automatically_start_an_process_in_the_debugger To connect this PC (assuming its IP adddress is 192.168.0.19) to a roscore running on another PC (with IP adddress 192.168.0.32) set ROS_MASTER_URI=http://192.168.0.32:11311 set ROS_IP=192.168.0.19 rqt