CLion autocomplete and error helping

I just got CLion to start making c++ applications. I heavily use boost and the range-v3 library. But both are basically unusable with CLion and I hope it is some configuration issue on my side. Both libaries are in the include path in my CMakeLists.txt and I can build and run without issues. Some calls to both boost and range-v3 show up as errors. namely the call `boost::variate_generator<boost::mt19937, boost::uniform_int<>> getRandomSecond(rng, randomSecondInDay);` where it won't correctly parse out the template parameters and the call `ranges::view::all(num)` Is also seen as an error.

That's not the only thing. I can't at all explore the range-v3 namespace. Autocomplete just won't trigger. This works for boost sometimes though. Another issue is that a lot of times after a semicolon there is a small red underline after it like there is an error but I can't see anything....

Is there some setting I am missing? I am using CLion 2017.2 EAP. 

Here is the code I am using to test:

#include <iostream>
#include <vector>
#include <boost/random.hpp>
#include <boost/generator_iterator.hpp>
#include <range/v3/all.hpp>

int main() {
boost::mt19937 rng;
boost::uniform_int<> randomSecondInDay(0, 24 * 60 * 60);
boost::variate_generator<boost::mt19937, boost::uniform_int<>> getRandomSecond(rng, randomSecondInDay);
for (int i = 0; i < 100; i++)
{
std::cout << getRandomSecond() << std::endl;
}

auto numOfNums = std::vector<std::vector<int>>{
{0, 1, 2, 3},
{5, 6, 7, 8},
{10, 20},
{30},
{55}
};

auto nums = numOfNums
| ranges::view::for_each([](std::vector<int>& num) { return ranges::yield_from(ranges::view::all(num)); })
| ranges::view::remove_if([](int i) { return i % 2 == 1; })
| ranges::view::transform([](int i) { return i * i; });

for (const auto i : nums | ranges::to_vector) {
std::cout << i << std::endl;
}
return 0;
}






4

请先登录再写评论。