我試圖在使用MinGW(GCC 4.8)的Windows上編譯libzqm。編譯與此錯誤終止:'strndup'未在此範圍內定義
'strndup' was not declared in this scope
所以,strndup
應該在string.h
吧?我試圖添加/mingw/x86_64-w64-mingw32/include
到CXXFLAGS
,但沒有奏效。
有什麼建議嗎?
我試圖在使用MinGW(GCC 4.8)的Windows上編譯libzqm。編譯與此錯誤終止:'strndup'未在此範圍內定義
'strndup' was not declared in this scope
所以,strndup
應該在string.h
吧?我試圖添加/mingw/x86_64-w64-mingw32/include
到CXXFLAGS
,但沒有奏效。
有什麼建議嗎?
嘗試添加
#define _GNU_SOURCE
前
#include <string.h>
strndup
是不是標準的C,但如果你使用GNU libc的,那麼你就通過包括如上擴展得到它。
由於'strndup()'是當前POSIX標準的一部分,所以至少使用'-D_POSIX_C_SOURCE = 200809L'編譯也可以。 – alk
就是這樣。謝謝 –
難道你不是故意的嗎? – Alex1985
糟糕!這是錯字 –
你不應該指望它在那裏。這不是一個標準功能。 – chris