2014-02-14 46 views
0

我是C++新手,在我的主要方法中面臨着信號函數的錯誤。 當我建立應用程序輸出出現錯誤C3861:'信號':標識符未找到。信號功能錯誤

int main(array<System::String ^> ^args) 
{ 
signal(SIGINT, signal_callback_handler); 
signal(SIGTERM, signal_callback_handler); 
} 

謝謝。

+3

您是否包含#include '? –

+0

@Raul andres - 是的,我添加了它。 –

回答

1

如果你已經#include <signal.h>,出錯原因可能是你的項目與/clr:pure編譯。您不能在純CLR項目中調用signal()

  1. 打開項目屬性頁:

    你可以通過改變/clr:pure/clr修復它。

  2. 更改設置:Configuration Properties - >C/C++ - >All Options - >Common Language RunTime Support
+0

感謝它的工作。 –

0

聲明周圍的C包含文件可能缺少extern C {。 由於這是C++,你可能會更好,包括<csignal><signal.h>

#include <csignal>