Chặn cảnh báo không quan trọng, v.d. Wno-unknown-pragmas

October 2, 2019 by

Chạy mô hình sử dụng các gói chương trình R cho các mô hình ẩn, mô hình không gian, Bayesian, MCMC, như Rcpp, RcppEigen, Stan, TMB sẽ có thể đòi hỏi compile code C++.

Đa số cảnh báo là vô hại, v.d.

 pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas]
    #pragma clang diagnostic pop

khi chạy mô hình TMB, Stan.

Tuỳ vào hệ điều hành, để tắt cảnh báo tạo tệp ~/R/Makevars (trên Linux, MacOS) và thêm các cờ

CXXFLAGS = -Wno-macro-redefined -Wno-unused-variable -Wno-unused-function -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-c++11-inline-namespace

hoặc có thể trên máy bạn là CXXFLAGS14, thông thường có thêm các cờ như -O3 để tối ưu code không cần thiết có thể bỏ cho mục đích chặn cảnh báo.

Tắt các loại cảnh báo khác với các cờ liệt kê tại đây.

Comments

comments powered by Disqus