microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.52k stars 1.55k forks source link

Linux ARM support #429

Closed atilimcetin closed 4 years ago

atilimcetin commented 7 years ago

Is it possible to add support for Linux on ARM CPUs?

ebarti commented 5 years ago

Need this desperately for Nvidia Xavier.

C++ development (which needs to be done on the platform because of testing) is just impossible without IntelliSense and debugging.

Furthermore, I'm also using ROS extension, which depends on this vscode-cpptools, meaning that I cannot even use that ROS extension.

See above. It is totally possible. I code on my windows machine, and build and test on my Rpi.

oysteinskotheim commented 5 years ago

Is it possible to add support for Linux on ARM CPUs?

In the meantime, if you have a machine with windows installed, I recommend you follow:

https://code.visualstudio.com/docs/remote/remote-overview

or, if you have Visual studio:

https://devblogs.microsoft.com/cppblog/linux-development-with-c-in-visual-studio/

I got tired of waiting for cpptools to be compatible with ARM, so I am now using my fully featured VS to develop all code that goes into my Raspberry Pi 4. Impressive integration, kudos to Microsoft.

When I try to open a remote C++ project in VS Code using SSH (the remote host is an NVIDIA Jetson TX2) I get "Architecture arm64 is not supported". The same error that I get when trying to run VS Code and the C++ extension locally on my NVIDIA Jetson TX2.

oysteinskotheim commented 5 years ago

Is it possible to add support for Linux on ARM CPUs?

+1 for this. I really need it for development on NVIDIA Jetson TX2.

It also seems to be required for opening remote projects on the Jetson TX2 via the "Visual Studio Code Remote - SSH" extension running on my PC (which already has the C++ extension installed locally).

ebarti commented 5 years ago

Is it possible to add support for Linux on ARM CPUs?

In the meantime, if you have a machine with windows installed, I recommend you follow: https://code.visualstudio.com/docs/remote/remote-overview or, if you have Visual studio: https://devblogs.microsoft.com/cppblog/linux-development-with-c-in-visual-studio/ I got tired of waiting for cpptools to be compatible with ARM, so I am now using my fully featured VS to develop all code that goes into my Raspberry Pi 4. Impressive integration, kudos to Microsoft.

When I try to open a remote C++ project in VS Code using SSH (the remote host is an NVIDIA Jetson TX2) I get "Architecture arm64 is not supported". The same error that I get when trying to run VS Code and the C++ extension locally on my NVIDIA Jetson TX2.

Ouch. It looks like there is experimental support for ARMv8l in the VSCode insiders edition, but it claims it migth not work for ARMv8 https://code.visualstudio.com/docs/remote/linux

I believe that in VS update >= 15.9 the visual C++ compilers and libraries for ARM64 became generally available.

boardkeystown commented 5 years ago

Please add ARM support for raspberry pi 2 and 3. Thank you ❤

lemmaa commented 4 years ago

+1 for cpptools ARM support

vascokk commented 4 years ago

Ok, that's interesting to know. It's theoretically possible to add, but we're not planning to currently (it hasn't shown up enough in our telemetry).

That's kinda "chicken or egg" problem. Maybe if it was an option, people will start using it and it will show in your telemetry?

vic-3pg commented 4 years ago

Support for aarch64 (Jetson Nano) would be awesome! 🚀

Keeping the ball rolling ...

loheagn commented 4 years ago

+1 Then I can debug cpp on my rasberrypi

VivaltoTech commented 4 years ago

+1 for cpptools and C language server on Raspberry. Being able to program and debug C code on a Raspberry (running Linux) from a Windows Notebook using VSCode Remote Extension makes a lot of sense.

boardkeystown commented 4 years ago

+1 for cpptools and C language server on Raspberry. Being able to program and debug C code on a Raspberry (running Linux) from a Windows Notebook using VSCode Remote Extension makes a lot of sense.

I know I can do it without the use of intelliSense and do but it would be so helpful if it worked for the raspberry pi. A lot of people would use it I am sure.

labrat97 commented 4 years ago

+1 This would be UNBELIEVABLY helpful in my day to day. Also, does the fact that this isn't implemented negatively impact the Surface Pro X with its ARM processor?

tamaslevente commented 4 years ago

+1 for Jetson Nano! Even if the remote ssh variant is doable, the local debugging would be useful.

btpython commented 4 years ago

+1 for raspberry need support

beralves commented 4 years ago

+1 for Raspberry Pi 4 support

cawthorne commented 4 years ago

+1, would save me having to use rsync so often!

CUMTZT commented 4 years ago

+1 for Nvidia Jetson Xavier support

qwertyway commented 4 years ago

It's been almost 2 years since original request. We really need this :) +1 for Raspberry Pi 4

boardkeystown commented 4 years ago

It's been almost 2 years since original request. We really need this :) +1 for Raspberry Pi 4

Yes! We really do!

mbronni commented 4 years ago

+1 for RPI4!!! Would be awesome to debug cpp on rpi4

dixi83 commented 4 years ago

+1 for armhf (Raspberry Pi 3 and 4)

ahmadfarisfs commented 4 years ago

+1 for armhf (Raspberry Pi 3 and 4) !!!

JosefRamsbacher commented 4 years ago

+1 thank you

prosenjitjoy commented 4 years ago

+1 for amrhf and arm64 support. Specially for raspberry pi.

sunipkm commented 4 years ago

+1 for armhf and arm64 support for remote development on native hardware.

tyongguang commented 4 years ago

+1 here as well.

Dendrolith commented 4 years ago

+1 especially with the Remote Development extension this should become more and more requested.

Aziz891 commented 4 years ago

+1 as it would make it a lot easier to develop on Raspberry Pi

Nyarn-WTF commented 4 years ago

+1 for Jetson nano and RPi4

VishalDhayalan commented 4 years ago

This support is seriously a need. Hope ARM support is available ASAP.

Could others make sure they also upvote the original comment instead of only posting replies with a +1. Thanks!

rozaydin commented 4 years ago

+1 for Raspi 3 and 4

mdmorar commented 4 years ago

+1 ARM64 Development Environment using VSCode for the Jetson TX2 and other Nvidia devices. I have tried using headmelted build of vscode and it seems to work for some items, but I still can't fully develop on it. Its missing alot of core things that make vscode great on an amd64 box like debugging, running code, alot of the iot and azure extensions don't work etc... there are alot of issues.

Ultimately VSCode desperately needs and ARM64 Env Installer that works and is maintained by Microsoft for high GPU and CPU embedded devices. I know alot of people are doing things on the Rasp Pi's which is great, but for production applications that require high speed and ML the disadvantage is creating docker builds and edge builds and then having to port the code and build it externally bc of arm64.

Also an ARM64 build agent in azure pipelines would be a good additions as well to streamline getting modules built. I've created a custom one for now to run on hardware but it was all through the CLI and fully custom.

hectorzg commented 4 years ago

+1 I'm using a pinebook pro and I would love to have cpptools.

jxsavage commented 4 years ago

+1 Also running RPi with remote extension

jmevel commented 4 years ago

Another Pinebook Pro user here.

I actually wanted to use this laptop for learning C programming so I couldn't agree more, the C/C++ extension would be wonderful.

At some point I'll eventually program ARM microcontrollers with this device I hope...

If you make it available I'm sure many people will start using it.

cawthorne commented 4 years ago

This should be a high priority.

The number 1 super computer in the world on the green500 is ARM64. Need we say more??

kinahawi commented 4 years ago

+1 Having cpp tools on Arm would be great for my work on Jetson Nano

labrat97 commented 4 years ago

I’ve already commented here I think, but this is making me choose to familiarize myself with Jetbrains’ products over Microsoft’s. The longer that this doesn’t exist, the more emerging customers Microsoft is bound to lose. Almost everything done at my school revolves around ARM.

EmbeddedBacon commented 4 years ago

@JamesMcDean Just to show the other side. First, Clion is a paid product while VS Code doesn't cost anything to use, so long used within the terms of the license. A few things I hate with JetBrains is their licensing model, it horrible. I hate that CLion uses the output of the build process for their CTAGs/intellisense. The CTAGs is a slow process especially with large projects. VS Code with the CPP tools is so much faster and doesn't rely on the build process. CLion forces the use of CMake basically. If you want to use other build system they have to be wrapped around CMake somehow. My past few companies, storage related, use a combination of Perl/Python and Make for the build process, so CLion is very hard to get up and running.

Just a few weeks ago I cancelled my subscription to JetBrains Clions (along with some others) for a few reasons. At my current and past company the language is mainly C for firmware and Python for testing which VS Code works extremely well and a vast majority of users use VS Code and the recent Remote development feature has been received with high praise.

I am sure the CPP Tools teams will add Arm support and I look forward to that day too.

ryan-allen commented 4 years ago

Super keen due to the fact there's a lot of new Windows 10 ARM laptops!!! <3

theironrobin commented 4 years ago

Also interested in this. Another Pinebook Pro user looking to create C applications for Pine products.

chongchai commented 4 years ago

I am also look forward to the linux arm support

Ehlarm commented 4 years ago

+1 please for Raspian (Pi4) "Architecture arm is not supported" :(

vscode version: 1.42.0 & 1.43.0 from headmelted doesn't work too (build with g++ YES, gdb & intellisence NO) with the C/C++ Extension (v 0.26.3) from Microsoft (Debug issue: "Couldn't find a debug adapter descriptor for debug type 'cppdbg'").

Also the installation "cpptools-linux32.vsix" doesn't helped...

Maybe the environment is to old? g++ & gdb (Raspbian 8.2.1-2) 2018? Electron: 7.1.7 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Linux arm 4.19.97-v7l+

chrismooredev commented 4 years ago

I would love to see ARM support for my personal Chromebook, using the Linux (Beta) subsystem.

With greater Chromebook adoption in K12, it would also lower the barrier of entry to using Microsoft's VSCode for native development for educational, and personal student use.

yoyomolinas commented 4 years ago

I also look forward to arm support.

bigOconstant commented 4 years ago

Installed vscode build on raspberry pi. Sad to see Architecture arm is not supported. +1.

Chamber6821 commented 4 years ago

+1 please for Raspian (Pi4) "Architecture arm is not supported"

DainisVerdins commented 4 years ago

+1 without intellisense and debugger on Raspberry PI is pain

cfriedt commented 4 years ago

I'm also using VS Code on my Aarch64 Chromebook, and having a functional C++ editor + Debugger would be very helpful.

realAP commented 4 years ago

WORKAROUND

Tested on Pi4 Linux Buster 4.19.66-v7l+ #1253 armv7l GNU/Linux

Hello, i had the same problem and would describe an other approach to get code completion for cmake based projects until this issue is fixed.

Get Started:

  1. Open vscode and connect over ssh to your pi
  2. install this plugin at your pi, https://marketplace.visualstudio.com/items?itemName=cquery-project.cquery This is an LSP-Client for code to connect to LSP server
  3. Next you have to build from source your LSP server (i have forked the fork and added a flag that is importand to build)
    git clone --recursive https://github.com/realAP/cquery
    cd cquery
    git submodule update --init
    git checkout arm-clang
    mkdir -p build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
    cmake --build .
    sudo make install

    At last you have to generate a _compilecommands.json and put at the same level as your root CMakeLists.txt

    mkdir -p build
    (cd build; cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=YES ..)
    if [ ! -f "compile_commands.json" ];then
    ln -s build/compile_commands.json .
    fi

    NO further configuration is needed. vscode reads the json file and you have code completion for c/c++ at Pi.