Eclipse CDT indexer lost after system update - linux

I am using Eclipse on Ubuntu for C++ development. After updating from Ubuntu 11.04 to Ubuntu 11.10, Eclipse indexer no longer is able to find my C/C++ system headers and annoys me filling the whole editor view with small bugs symbols, one for every line with an #include or symbol it does not recognizes.
Downloading and unpacking a brand new Eclipse CDT package will not solve the problem. Creating the Hello World sample project will not solve it either. I have tried to add by hand all system paths to the indexer configurations, and it partially solved the problem to that specific project, but only standard C headers and installed libraries were indexed (i.e. I was unable to make it work with standard C++ headers like iostream).
I believe there must be some configuration hidden in my system messing with Eclipse's indexer...
How can I make Eclipse to have its old behavior, automatically finding system headers when I create a new Hello World project, and specially, when working on my existing projects?

Found the problem explanation in Eclipse CDT forum: http://www.eclipse.org/forums/index.php/t/247954/
To solve it locally for a project, open the project "Properties" window, under "C/C++ Build"→"Environment" add a new variable:
- Name: LC_ALL
- Value: C
This will make the compiler to issue its messages in English.

Related

Set up cocos2d-x-3.6 with eclipse on linux

I installed cocos2d-x-v3.6 and want to use it with an kubuntu repository version of eclipse (v3.8).
Although I added the path to cocos to the project's 'Path and Libraries > Includes' settings, I get a lot of errors of the sort:
Method '...' could not be resolved.
Function '...' could not be resolved.
Type '...' could not be resolved.
This is already true for the example code, see pictures.
This seems to be the case for mostly functions/variables in cocos namespaces, because basic classes, like 'Scene' are recognized.
What do I have to change in my settings so that also the members for this third-party framework are recognized?
Got it.
I started from scratch, installing cocos and all dependencies following these instructions - including android setup. (Before that, I followed the linux instructions and tried eclipse on that.)
I then used the cocos command line tool to build a new app skeleton, as described here.
Afterwards, I imported the proj.android subfolder into eclipse as an android project, as is described here for the cpp-tests example project shipped with cocos2d-x. (Importing libcocos2dx seemed not to be necessary at this point.)
All symbols, functions, methods where resolved by eclipse.
I had a look at the C++ Path and Libraries > Includes settings and there was a lot going on, many cocos subfolder are referenced.
However, autocompletion was still not working. I checked all checkboxes in the preferences at C++ or Java > Editor > Content Assist > Advanced and this did the trick, see screenshots.

Missing .dll error reoccurence

I have a question regarding VC++ 5.0.
For a dialog-based project I am writing, I have linked it to a particular dynamic link library called File32.dll by adding the corresponding .lib file to my project debug folder as you do.
I also linked to this library in the Project Settings. This library contains functions specific to a particular application which I need to access. All of the necessary header files have been included and the project builds without errors or warnings.
The problem is that once I try to debug and run the dialog, an error appears:
The program can't start because OUTPUT.dll is missing from your
computer.Try reinstalling the program to fix this problem.
OUTPUT.dll is a library I am not linking to for this project. And when I add this particular .dll to my debug folder, the same error appears with a different .dll (SYSINT32.dll).
No matter how much I add these dlls to my debug folder, the error message reappears with a new dll. Bare in mind, the project debugged and ran successfully before I linked to File32.lib. So I feel that the problem lies with File32.lib. Any ideas on what might be happening with the linker?
Use Dependency Walker to open your File32.dll. It will show all DLLs this one (statically) depends on. It will also highlight the missing ones.
As for VC++ 5.0 ... I feel the need to comment ...
Visual C++ 5.0, which included MFC 4.21 and was released 1997-04-28 (...)
that's an amazing 18 years :-)

JavaFX missing from JDK 1.7/1.8 in Linux?

I have a problem that allegedly isn't possible, so I'm having a heck of a time finding an answer.
I have the latest version of NetBeans 7.4, running on fully-updated Fedora 20 x64. Officially, this can work with JavaFX. Period. I have both the JDK from the repo (1.7.something) and the very latest version I could find (1.8.0). Officially, these have JavaFX with them. Period.
If I try to create a new JavaFX project, it has this to say:
Failed to automatically set-up a JavaFX Platform.
Please go to Platform Manager, create a non-default Java SE platform, then go to the JavaFX tab,
enable JavaFX and fill in the paths to valid JavaFX SDK and JavaFX Runtime.
Note: JavaFX SDK can be downloaded from JavaFX website.
Well alright, I'm used to things getting confused, I think I can fix this. Go create a new platform, and... there's no "JavaFX" tab. It took a bit of research to even find out what it was talking about, and in the process I discovered that the tab has actually been removed from 7.4. Because NetBeans 7.4 will absolutely, definitely recognize JavaFX automatically. Period.
Going to the actual JavaFX site tells me, as expected, that it's bundled with the Java SE 7 JDK I already have. Period.
Since the end result I'm after could technically be achieved by integrating one JavaFX component into my Swing application, I attempted that, but NetBeans still can not find anything related to JavaFX and therefore yells at me if I try to import such a thing.
So, given that things that are supposed to just plain work just plain aren't... where can I go from here?
Currently in Debian and Ubuntu (probably others) JavaFX is a separate package from the OpenJDK (openjdk-8-jdk) and so needs to be installed:
sudo apt-get install libopenjfx-java libopenjfx-java-doc
Notable issue (this issue does not impact a Maven, JavaFX application so if that is your preferred build method then ignore the following issue):
If you try to create a new project:
Categories > JavaFX
Project > JavaFXApplication
You'll get:
Internal error. Missing resources [/resources/web-files/javafx-loading-100x100.gif]
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:1465: The following error occurred while executing this line:
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:3093: The following error occurred while executing this line:
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:2055: Error: -includedt requires the java deployment toolkit, which is not included in this distribution
BUILD FAILED (total time: 1 second)
To fix the above error [following steps are derived from here: http://hongouru.blogspot.com.uy/2015/09/solved-error-building-new-project-using.html]:
Switch to the files tab (usually you're on the Project tab).
Expand the node for your project >
expand the nbproject node > open the "project.properties" file.
Find the line javafx.deploy.includeDT=true and change true to false.
Now you can create and run a JavaFX application, on OpenJDK.
Next steps, although beyond the issue at hand you'll probably at some point want to download the JavaFX scene builder: http://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html
Apparently, the issue is indeed a discrepancy between the open-source OpenJDK provided by most Linux distributions, and the proprietary Oracle JDK. Ironically, this is a well-known issue, but you have to specifically search for it to find it, and by then you already know.
The solution is to download the official Oracle JDK, and if necessary create the matching platform in NetBeans (located under /usr/java/jdk... at this moment). It should work perfectly fine after that.
Perhaps the official documentation
https://netbeans.org/kb/docs/java/nb_fx_screencast.html
https://netbeans.org/kb/72/java/javafx-setup.html
may help you to set it up

MonoDevelop unsupported project type vcxproj

I have been a long-time visual studio developer, and I am trying to switch over to using mono so I can port my applications to Ubuntu. I have been trying to get some of my VS2010 C++ projects (.vcxproj file types) to load into MD on my Ubunutu 12.04 machine. According to the documentation I have read online this should work, however, every time I try and load a project I get the error shown below. Is there something else I need to be installing in order to be able to load C++ projects in monodevelop? I have done some searching, but have not yet found anything related to this particular question.
VC2010Test.sln(4): Unsupported or unrecognized project : '/home/me/Projects/Test/VC2010Test/VC2010Test.vcxproj'.
Thanks
MonoDevelop has a C/C++ binding, called CBinding.
But:
Beware, it's not meant to target managed C++.
AFAIK, it only works in Unix-like platforms.
So, if you still target non-managed C++ and are not using MonoDevelop for Windows, two questions:
Did you make sure that the binding (addin) is installed and enabled?
If the answer to the above question is yes, you may want to try this: the binding creates projects with the extension ".proj" by default, I think, so maybe you can change this to ".vcxproj", recompile, and test again. If it works, then it should be easy to create a pull request to include this extension of possible file types that this addin can handle?

Easy way of installing Eclipse plugins on Ubuntu

I'm running Eclipse (versions 3.6 and 3.5) on Ubuntu and I'm having trouble installing Eclipse plugins.
There is an easy way to install eclipse plugins in Eclipse, but this doesn't work for me on Ubuntu! This way only works properly under Windows and Mac OSX.
Just like in the tutorial, I create a folder inside my eclipse SDK folder that is named Links.
In this folder, I create a file eclipse-cpp-helios-linux-gtk.lnk or eclipse-cpp-helios-linux-gtk.link that contains this line:
path=/home/taher/opt/eclipse/Third-party-eclipse-links/eclipse-cpp-helios-linux-gtk
and save it, but when I start Eclipse doesn't recognize the plugin!
How can I resolve this problem?
With Eclipse Galileo (3.5) or Helios (3.6), I would rather recommend an external directory called 'mydropins' (for instance), which you can reference from your eclipse.ini, with the option:
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/Prog/Java/eclipse_addons
This is called a shared dropins folder.
See in this SO answer an example of plugin deployment in this shared dropins folder.
(Your link refers to the previous provisioning mechanism, pre-p2.
P2 is the new provisioning system introduced late in Eclipse3.4, refined (debugged?) in eclipse 3.5 and 3.6.
See the supported dropins formats to check how you can organize your own personal dropins folder (that you can reuse between several eclipse installations)
You said you are using:
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/home/taher/opt/eclipse/Third-party-eclipse-links
That means, under /home/taher/opt/eclipse/Third-party-eclipse-links, you:
won't have any .link file
will copy:
eclipse-cpp-helios-linux-gtk
eclipse
features
plugins
Note: the structure within eclipse-cpp-helios-linux-gtk should be the one describe above, for p2 to pick it up.

Resources