VS17 SSH Linux unistd.h

时间:2018-04-15 16:11:33

标签: c linux visual-studio visual-studio-2017

我在win7系统上使用Visual Studio 17来编写linux的东西。

我的系统通过SSH与Linux机器连接。

当我调试一切正常并且控制台输出正确时。

但是视觉工作室本身给我一个视图语法错误,因为没有找到一些包含库。 ()

我想知道为什么我在构建时会遇到几个错误,但是在调试时运行正常...

除此之外,语法错误非常烦人......

有人知道如何解决这个问题吗?

这是一个示例代码:

#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”未定义

标识符“sleep”未定义

标识符“getpid”未定义

1 个答案:

答案 0 :(得分:1)

转到您的项目属性(项目 - &gt;属性 - &gt;配置属性 - &gt; C / C ++ - &gt;常规),然后在附加包含目录字段中添加.h文件的路径。

确保您的配置和平台是活动的。 示例:配置:活动(调试)平台:活动(Win32)。