Can I use Visual Studio on a Windows 10 computer to build/debug code for a Jetson Nano?


I am a software engineer that develops Windows C#/C++ applications using Visual Studio on Windows 10.
As a hobby I am interested in running CUDA/OpenCV applications on a Jetson Nano.
I haven’t purchase a Nano yet as I have a few questions:

1). Can I develop C++ apps on my Windows 10 computer and download them to the Nano or do I need a Linux host computer as the Nano itself runs on a Linux operating system?

2). Can I debug the Nano from a Windows 10 computer using Visual Studio?

  1. Are there any other problems that you foresee for someone coming from my area of expertise?

Thanks for your time,

Hi Jody, it may be easiest for you to develop onboard the Nano itself. It is basically a full computer that you can connect display, keyboard, mouse, ect. to and has the native compiler and debugging/profiling tools onboard.

JetPack and the NVIDIA SDK Manager can install cross-compiling and remote debugging tools on the host PC, but for Ubuntu OS (Linux only).

Hi dusty,

Thanks for the quick response!
Is the compiler/debugger similar to any other well-know IDE’s?

Thanks again,

The Ubuntu PC tools like NVIDIA Nsight Graphics (remote profiler/debugger) and Nsight Eclipse Edition are similar to Eclipse.

On the Jetson, the CUDA compiler (nvcc) is a command line tool (like gcc) that you typically build with makefile or CMake from terminal. For an IDE you can just use GEdit or some people install Visual Studio Code on the Jetson.

Hey Dusty,

OK, you sold me. I will buy one today.

Thank you for all of your help. I really appreciate it!

As far as I’ve tried, Visual Studio Code was not running very fast on TX2. Maybe ok for Xavier, but for nano it might be slow. This was some time ago, though.
This topic was one of the first builds running on arm64, but it is probably out of date. You’d better try some binary packages now available from here. [EDIT: seems these builds are for debian stretch, so may not be appropriate for ubuntu18 bionic based on debian buster.]
[EDIT2: Seems easier to build now. Check this topic]

If it is too slow, I’d also suggest to use qtcreator as IDE. See this post.

This is my current plan as of attack right now:

Since I am just a beginner with CUDA/OpenCV and I haven’t worked with a Nano, I am going to learn and build my projects on my Windows desktop (with a GTX 1080) while also trying to come up to speed with the Nano. When I am confident my code is working well on my desktop, I will transfer it to the Nano and build it there with Visual Studio Code or some other mechanism. In that way I am reducing some of the possible error variables, code that may not be correct and a new hardware platform. It is always tougher to debug 2 unknowns than 1.