我是C ++的新手,在我的主要方法中遇到信号函数错误。 当我构建应用程序输出时出现错误C3861:'signal':找不到标识符。
int main(array<System::String ^> ^args)
{
signal(SIGINT, signal_callback_handler);
signal(SIGTERM, signal_callback_handler);
}
感谢。
答案 0 :(得分:1)
如果您已经#include <signal.h>
,则错误原因可能是您的项目是使用/clr:pure
编译的。您无法在纯CLR项目中调用signal()
。
您可以将/clr:pure
更改为/clr
:
Configuration Properties
- &gt; C/C++
- &gt; All Options
- &gt; Common Language RunTime Support
。答案 1 :(得分:0)
C include文件可能在声明周围缺少extern C {
。
由于这是C ++,您可能最好包括<csignal>
而不是<signal.h>
。
#include <csignal>