我正在为远程设备(实际上是带有Armbian Legacy Server -- Debian Jessie的Orange Pi Zero)编写C代码。需要明确的是,所有编译都在Linux远程设备上进行。我正在尝试为设备编写C代码程序。让我们开始simple。
#include <stdio.h>
int main() {
printf("\nHello World!!\n");
int number = 15;
printf("15 = %d\n", number);
return 0;
}
现在我知道我可以SSH到设备,登录,创建helloWorld.c文件,然后将代码粘贴到那里(通过
nano helloWorld.c
)。然后,我可以使用以下命令在设备上编译代码 gcc helloWorld.c -o helloWorld
然后,我可以从SSH控制台通过bash / shell命令运行可执行文件:
./helloWorld
效果很好。到现在为止还挺好。 Shell编辑器适用于小文件,但是当事情变得复杂时,这很痛苦。我想要在台式机上复制我所写的内容。因此,我尝试使用Microsoft Visual Studio(社区版2015,更新3)进行此操作。我正在https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/上关注本教程。该教程似乎是相对最新的,有点。我加载Visual C++ for Linux Development extension。注意事项之一是我没有使用从VisualGDB.com购买的软件包。相反,我通过以下方式将以下依赖项下载到远程设备:
sudo apt-get install openssh-server g++ gdb gdbserver
我通过模板-> Visual C++->跨平台-> Linux在Visual Studio中创建一个项目,然后选择“空项目”。我将所有SSH登录信息加载到Visual Studio。我可以构建/编译项目。当我执行此操作,然后通过SSH进入远程Linux设备时,可以在根目录中看到
projects
文件夹的添加。 projects directory
helloWorld directory
bin directory
ARM directory
Debug directory
helloWorld.out file <--- ./helloWorld.out works!
obj directory
ARM directory
Debug directory
helloWorld.o file
helloWorld.c file
我可以通过在桌面上遍历代码来调试项目。我可以观察变量,在 Debug模式下可以看到很棒的东西。有几件事我只是不明白。
1)从桌面Visual Studio“运行”代码时,看不到任何输出。输出窗口只是空白。 (我可以SSH到Linux服务器bin目录,然后运行
./helloWorld.out
并在SSH解释器屏幕上看到一切正常。)提示:如果我可以成功地远程执行代码,我应该不能远程查看输出吗?我应该在Visual Studio中看到输出吗?2)关于如何添加其他链接资源以从Visual Studio进行编译尚不清楚。 (如果将我SSH连接到设备,则只需键入
gcc helloWorld.c -o helloWorld -lwiringPi
以添加其他资源。)如何在Visual Studio中添加其他链接资源? 最佳答案
经过一番审查,我发现了上面发布的两个问题的答案。
1)控制台窗口
从顶部菜单,调试-> Linux控制台
2)链接资源。
首先,确保库已在远程Linux设备上正确加载和编译。就我而言,我一直在为Raspberry Pi使用通用输入/输出(GPIO)WiringPi库,可用here或here。对于Orange Pi的WiringOp库,请检查here。
要在Visual Studio中添加库引用,请从顶部菜单“项目->属性->链接器->输入”开始。在标题为“Library Dependencies”的块中,您将添加库名称,在我的情况下为“wiringPi”。这将生成命令行,告诉系统在远程设备上查找该库。所需的文件实际上位于/ usr / local / lib上的远程Linux设备上(通常为xxx.so文件)。
另一个需要注意的注意事项:如果您没有在目标Linux远程设备上编译正确的库,则在尝试运行程序时在Visual Studio中收到的错误消息有些含糊。您将看到“严重错误:connectionPi.h:没有这样的文件或目录。”并非完全清楚该消息是指远程设备上缺少内容。
注意:这是a write up on using Visual Studio with a C program for a Raspberry Pi.
关于c++ - Visual Studio C/C++如何与远程设备一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41480412/