2015-05-05 59 views
-2

我有一個奇怪的錯誤發生,如果我在C程序中使用函數openpty()它編譯好,但如果我在C++程序中有完全相同的代碼,我會得到一個編譯器錯誤: openpty()在C++中沒有識別Xcode

error: 'openpty' was not declared in this scope 

兩個Xcode項目在一個文件(分別爲main.c和main.cpp)中具有完全相同的代碼。

我怎樣才能解決這個問題?

代碼:

#include <stdio.h> 
#include <stdlib.h> 
#include <errno.h> 
#include <fcntl.h> 
#include <sys/stat.h> 
#include <termios.h> 
#include <unistd.h> 
#include <sys/types.h> 
#include <sys/time.h> 
#include <sys/select.h> 
#include <string.h> 

int main (int argc, const char * argv[]) { 
    int gps_fdm, gps_fds; 
    char slave_port_name[256]; 
    int open_res = openpty(&gps_fdm, &gps_fds, slave_port_name, NULL, NULL); // compiler error here 
    return 0; 
} 

*從我曾嘗試包括pty.h的意見以建議。不幸的是,這會產生編譯器錯誤error: pty.h: No such file or directory

+0

1.這根本不是C++,2.您使用的是哪種編譯器,3.「pty.h」在哪裏? –

+0

該項目將在C++這是原始的骨架。這個函數openpty()需要在我們的C++項目中使用。 –

+0

@iharob當我包含'pty.h'我得到另一個編譯器錯誤:'沒有這樣的文件或目錄'。我在使用Xcode作爲我的IDE的Mac OS上 –

回答