【发布时间】:2018-09-25 09:52:14
【问题描述】:
我在 win7 系统上使用 Visual Studio 17 来编写 linux 的东西。
我的系统通过 SSH 与一台 linux 机器相连。
当我调试一切运行良好且控制台输出正确时。
但是由于没有找到一些包含库,Visual Studio 本身给了我一个视图语法错误。 ()
我想知道为什么我在构建时遇到了几个错误,但在调试时却运行良好......
除了语法错误很烦人...
有人知道如何解决这个问题吗?
这里是一个示例代码:
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
static int global_var = 1;
int main(void) {
pid_t pid;
int lokal_var = 1;
switch (pid = fork()) {
case -1:
printf("X");
break;
case 0:
sleep(1); /* Kurze Pause */
printf("X (%d) ---\n", getpid());
printf("X = %d X : %p\n",
global_var, &global_var);
printf("X = %d X ; %p\n",
lokal_var, &lokal_var);
fflush(stdout);
++global_var;
++lokal_var;
printf("--- X (%d) ---\n", getpid());
printf("global_var = %d X : %p\n",
global_var, &global_var);
printf("X = %d X ; %p\n",
lokal_var, &lokal_var);
fflush(stdout);
break;
default:
printf("--- X (%d) ---\n", getpid());
printf("global_var = %d X : %p\n",
global_var, &global_var);
printf("lokal_var = %d X ; %p\n",
lokal_var, &lokal_var);
fflush(stdout);
sleep(2);
printf("--- X (%d) ---\n", getpid());
printf("global_var = %d X : %p\n",
global_var, &global_var);
printf("lokal_var = %d X ; %p\n",
lokal_var, &lokal_var);
fflush(stdout);
break;
}
return EXIT_SUCCESS;
}
错误:
无法开源“uinstd.h”
标识符“fork”未定义
标识符“睡眠”未定义
标识符“getpid”未定义
【问题讨论】:
-
听起来 VS 正在查看主机系统的标头。 blogs.msdn.microsoft.com/vcblog/2018/04/09/… 解释如何使用远程系统。
标签: c linux visual-studio visual-studio-2017