curvedvision
curvedvision

Reputation: 61

Eclipse CDT complains about unresolved functions but still builds successfully

The following C++ application compiles and runs successfully within Eclipse CDT but the IDE is still reporting an error stating:

Could not resolve function wprintf
#include <stdio.h>
#include <wchar.h>

int main()
{
  wprintf(L"Hello world");
  return 0;
}

The directory /usr/include (where wchar.h resides) is definitely listed within the Include path as otherwise the application would not compile. Hitting F3 on wprintf reports:

Could not find symbol 'wprintf' in index

This is my set up:

Does anyone know how I can get Eclipse CDT to resolve this function correctly?

Upvotes: 6

Views: 11443

Answers (5)

user2270507
user2270507

Reputation: 1

what helped me was on the jni folder press the right mouse button properties > c/c++ general > paths and symbols add the same paths as in project > properties c/c++ general > paths and symbols

hope it helps

Upvotes: 0

aphex999
aphex999

Reputation: 31

At preferences -> c/c++ -> Editor -> Indexer disable indexer, apply, go back to preferences, and enable index again. This makes Eclipse to re-index the workspace. After that, my false red signs on the right side of the editor were gone.

Upvotes: 3

user1523177
user1523177

Reputation: 459

I had the same problem with my Juno Release, Build id: 20120510-1218 on Fedora 14. To solve the index problem: Navigate to preferences -> c/c++ -> Editor -> Indexer -> uncheck "Allow heuristic resolution of includes"

-All the best

Upvotes: 7

Computer_guy
Computer_guy

Reputation: 805

Ok, if /usr/include is listed correctly, then go to preferences -> c/c++ -> Editor -> Indexer -> select Indexer

Sometimes change it from fast c/c++ indexer to the Full one resolves the problem.

Hope it helps

Upvotes: 0

ks1322
ks1322

Reputation: 35736

The directory /usr/include (where wchar.h resides) is definitely listed within the Include path as otherwise the application would not compile

I guess this directory is listed only in compiler Include path. This directory has to be listed in Eclipse C++ parser Include path as well, to resolve functions correctly.

Upvotes: 0

Related Questions