2013-07-04 86 views
1

我試圖在使用MinGW(GCC 4.8)的Windows上編譯libzqm。編譯與此錯誤終止:'strndup'未在此範圍內定義

'strndup' was not declared in this scope 

所以,strndup應該在string.h吧?我試圖添加/mingw/x86_64-w64-mingw32/includeCXXFLAGS,但沒有奏效。

有什麼建議嗎?

+0

難道你不是故意的嗎? – Alex1985

+0

糟糕!這是錯字 –

+0

你不應該指望它在那裏。這不是一個標準功能。 – chris

回答

2

嘗試添加

#define _GNU_SOURCE 

#include <string.h> 

strndup是不是標準的C,但如果你使用GNU libc的,那麼你就通過包括如上擴展得到它。

+0

由於'strndup()'是當前POSIX標準的一部分,所以至少使用'-D_POSIX_C_SOURCE = 200809L'編譯也可以。 – alk

+0

就是這樣。謝謝 –