2011-11-15 30 views
9

Trong khi thực hiện một dự án với Makefile, tôi nhận được lỗi này:disable -Werror ini tập tin cấu hình

error: implicit declaration of function ‘fatal’ [-Werror=implicit-function-declaration] 

cc1: all warnings being treated as errors 

Các --help ./configure lãm

Optional Features: 
    --disable-option-checking ignore unrecognized --enable/--with options 
    --disable-FEATURE  do not include FEATURE (same as --enable-FEATURE=no) 
    --enable-FEATURE[=ARG] include FEATURE [ARG=yes] 
    --disable-dependency-tracking speeds up one-time build 
    --enable-dependency-tracking do not reject slow dependency extractors 
    --disable-gtktest  do not try to compile and run a test GTK+ program 
    --enable-debug Turn on debugging 

thế nào tôi có thể nói với cấu hình không đến bao gồm -Werror ??

Trả lời

16

Werror là đối số gcc, bạn không thể xóa trực tiếp thông qua ./configure, nếu không, tùy chọn như --disable-error sẽ hiển thị trong văn bản trợ giúp. Tuy nhiên, nó có thể.

Set một biến môi trường:

export CFLAGS="-Wno-error" 

Đó là cho cho trình biên dịch C. Nếu dự án sử dụng C++, làm:

export CXXFLAGS="-Wno-error" 

Trong trường hợp rất hiếm dự án không tôn vinh các biến này, phương sách cuối cùng của bạn là để chỉnh sửa các tập tin configure.ac và tìm kiếm -Werror và loại bỏ nó ra khỏi chuỗi nó xảy ra trong (hãy cẩn thận).

+4

Xin lưu ý rằng sự khác biệt giữa 'CFLAGS' và' CPPFLAGS' không phải là 'CFLAGS' được sử dụng bởi trình biên dịch C và' CPPFLAGS' là được sử dụng bởi trình biên dịch C++, nhưng 'CFLAGS' được Trình biên dịch sử dụng, và' CPPFLAGS' được sử dụng bởi Bộ tiền xử lý C. Xem câu trả lời SO này để biết thêm chi tiết: http://stackoverflow.com/questions/2754966/cflags-vs-cppflags – staticfloat

+0

Nhận xét ở trên đề cập đến câu trả lời gốc, có CPPFLAGS thay vì CXXFLAGS. –

3

nó có vẻ như tính năng đã được trong autotools trong nhiều năm:

./configure --disable-werror 

không may, tôi đã không thể để có được những trường hợp cụ thể sau đây để làm việc:

./configure --enable-wno-error=unused-value 

có lẽ nó có thể làm việc nếu một biểu tượng thoát '=', giả sử có thể. Giống như skim nói, người ta vẫn có thể sử dụng CFLAGS hoặc CXXFLAGS.

0

Công việc này đối với tôi, biên soạn curlpp, Lubuntu 16.10:

./configure --disable-ewarning 
Các vấn đề liên quan