2010-06-07 37 views
5

Tôi muốn xem bạn có thể định hướng tôi hay không.Tăng cường trong Visual Studio 2010, lỗi IntelliSense

Nó xảy ra mà tôi biên soạn và tham chiếu các thư viện tăng để sử dụng chúng với Visual Studio 2010. Khi xây dựng dự án thử nghiệm của tôi tôi nhận được hai lỗi IntelliSense

1 IntelliSense: #error directive: "Macro BOOST_LIB_NAME not set (internal error)" c:\boost_1_43_0\boost\config\auto_link.hpp 

2 IntelliSense: #error directive: "some required macros where not defined (internal logic error)." c:\boost_1_43_0\boost\config\auto_link.hpp 

Kiểm tra tập tin header auto_link.hpp sự lỗi đầu tiên là ở dòng này

#ifndef BOOST_LIB_NAME 
# error "Macro BOOST_LIB_NAME not set (internal error)" 
#endif 

Tracing định nghĩa của BOOST_LIB_NAME, dường như được định nghĩa trong config.hpp bởi boost_regex, mà mã tôi bao gồm bên dưới

#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) 
# define BOOST_LIB_NAME boost_regex 
# if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK) 
#  define BOOST_DYN_LINK 
... more code 

và kỳ lạ khi tôi trỏ đến BOOST_LIB_NAME xác định BOOST_LIB_NAME và lỗi IntelliSense biến mất.

Chương trình của tôi xây dựng và thực hiện tốt bằng cách sử dụng thư viện Boost: Regex - có hoặc không có lỗi Intellisense; tuy nhiên, tôi không hiểu tại sao những lỗi IntelliSense này xuất hiện ở vị trí đầu tiên, và thứ hai tại sao chỉ macro trong config.hpp xác định BOOST_LIB_NAME.

Mọi hướng dẫn sẽ được đánh giá cao.

Cảm ơn,

Jaime

Trả lời

5

Các Visual Studio IntelliSense kiểm tra lỗi cho C++ không phải là hoàn hảo và thường báo cáo lỗi mà aren'treallyerrors (đó là những liên kết đến ba dương tính giả mà tôi đã tìm thấy và báo cáo; họ không liên quan đến vấn đề của bạn, mặc dù).

Các vấn đề liên quan