sigset没找到

时间:2015-11-04 16:14:42

标签: c++ c c++11 solaris solaris-studio

考虑以下示例:

CLRegion

#include <signal.h> extern "C" { static void signalHandler(int signal) {} } int main(int, char**) { sigset (SIGTERM, signalHandler); return 0; } 成功。

但是

CC test.cpp

我也尝试了以下内容:

CC test.cpp -std=c++11
Undefined                       first referenced
 symbol                             in file
sigset                           test.o
ld: fatal: symbol referencing errors

但产生同样的错误。 CC test.cpp -std=c++11 -lstdc++ -lgcc_s -lc 也无济于事。

也不 - -m64

操作系统:Solaris 11 编译器:来自Oracle Solaris Studio 12.4的CC

要求输出:

lstdc++ -lgcc_s -lCrunG3

如果我使用me@myhost:~/projects/cpptest> CC -std=c++11 -c test.cpp -o test.o me@myhost:~/projects/cpptest> nm -A test.o | grep sigset test.o: [14] | 0| 0|FUNC |GLOB |0 |UNDEF |_Z6sigset me@myhost:~/projects/cpptest> nm -A /usr/lib/libc.so | grep sigset /usr/lib/libc.so: [527] | 883372| 224|FUNC |LOCL |2 |16 |__csigsetjmp /usr/lib/libc.so: [5694] | 736724| 420|FUNC |WEAK |3 |16 |_sigset /usr/lib/libc.so: [6599] | 883868| 28|FUNC |GLOB |3 |16 |_sigsetjmp /usr/lib/libc.so: [4906] | 833680| 532|FUNC |WEAK |3 |16 |_thr_sigsetmask /usr/lib/libc.so: [6267] | 736724| 420|FUNC |GLOB |3 |16 |sigset /usr/lib/libc.so: [4590] | 883868| 28|FUNC |GLOB |3 |16 |sigsetjmp /usr/lib/libc.so: [2244] | 0| 0|FILE |LOCL |0 |ABS |sigsetops.c /usr/lib/libc.so: [4502] | 833680| 532|FUNC |GLOB |3 |16 |thr_sigsetmask me@myhost:~/projects/cpptest> 代替<csignal>,则会收到以下错误:

<signal.h>

0 个答案:

没有答案