NetBeans 6.9 is unable to identify cross compiler toolchain, where NB6.8 was, and doesn't permit to indicate the toolchain type, making in fact impossible to add any other toolchain than the default one.
I attach a screenshot to illustrate the problem.
CodeSourcery tool collection does not supported.
If you sure that the tool collection GNU compatible you should add links:
gcc -> arm-none-linux-gnueabi-gcc
g++ -> arm-none-linux-gnueabi-g++
gdb -> arm-none-linux-gnueabi-gdb
ar -> arm-none-linux-gnueabi-ar
as -> arm-none-linux-gnueabi-as
and add tool collection again.
- create own tool collection descriptor (see http://netbeans.org/kb/docs/cnd/toolchain.html)
It would be nice if you share you experience in NB C/C++ forum (http://forums.netbeans.org/viewforum.php?f=10) or/and provide plug-in for Netbeans with CodeSourcery tool collection.
Sorry, it is only my guess that you use CodeSourcery.
But I think that in you case my comment is also right:
- Netbeans does not support cross compiler toolchain.
- if tool collection is GNU compatible it should have gcc[.exe] and g++[.exe] executable files in the base tool collection folder.
In this specific case I'm using the QNX toolchain, that NetBeans 6.8 recognises everything quite well, and if I have the options to select that the compiler is a GCC based one and the option to give the compiler executable (those are grayed out in 6.9), this is everything the IDE needs to run the toolchain and has always worked very well.
Btw, WONTFIX??? As I said, the reason why we moved from Eclipse to NetBeans is exactly because NB handles (up to now) both Java *and* C cross compiler toolchain very well.
If you're serious about non fixing this, is there any way to run the old cnd with 6.9 or we have to stick forever with the old IDE?
NetBeans IDE 6.9 (Build 201006101454)
Java: 1.6.0_18; OpenJDK 64-Bit Server VM 14.0-b16
System: Linux version 18.104.22.168-124.fc13.x86_64 running on amd64; UTF-8; it_IT (nb)
[neugens@galactica kd]$ cat /etc/redhat-release
Fedora release 13 (Goddard)
Version: 1.9.1 Source: NetBeans IDE 6.9 (Build 201006101454)
C/C++ support, including editing, projects, GDB debugger and make. There is a basic support for Fortran and Assembler (x86/64, SPARC)
Module installed: C/C++
- tool collection
QNX Software Development Platform 6.4.1
I think other toolchain may also show the problem, but I don't have any at hand, it should be possible to create some simlinks and test with a standard gcc toolchain (maybe you can try with gcc for arm if you have a Fedora or Ubuntu box at hand or perhaps with the CellBE one from IBM).
- step to reproduce bug
* Install the toolchain (sorry, this requires a license but it's free, the toolchain is GCC based)
* Install NB6.9 with cnd
* Run the IDE and create a C/C++ project (or just activate the cnd plugin)
* Add a new toolchain via Tools->Options->C/C++->Add
* Select the base directory (in my case /opt/qnx641/host/linux/x86/usr/bin/)
At this point the IDE display the message in the attached image, with the field Tool collection Family and Name grayed out.
The difference with NB 6.8 is that those fields are not grayed out at this point (attached screen-shot), so I can click on OK and then configure the paths. Then everything works fine, so this is probably a one or two liner fix somewhere, as it's really that the interface should not be grayed out.
If somebody can point me to the right place, I could try to help out on that fix too.
Well. I checked fix. Now I can add cross compilers from /opt/qnx641/host/linux/x86/usr/bin, but I can't understood what users/developers expects from cross compilers? I expects such problems:
- I see unresolved /opt/qnx641/target/qnx6/usr/include/sys/platform.h include in MIPS mode
- I see 5 different compilers (ntoarm-g++-4.3.3, ntomips-g++-4.3.3, ntoppc-g++-4.3.3, ntosh-g++-4.3.3, ntox86-g++-4.3.3). If user are switching project from one platform to second, then code assistance can be broken.
- Undefined (for me) behaviour if user created 2 projects. For example, one on MIPS, second on PPC.
Thanks for the Fix, this is great!
You can set the name of the compiler so the IDE will be able to use the correct one, including full autocompletion and correct include parsing.
In some cases, the IDE still issues a warning in the editor, but the project can be built. I've tried this with QNX, PlayStation 3, and even with OS9, and they all work very well, so, even if the cross compiler toolchain support may seem broken, it's definitely not at all: I am able to compile our VM for any target we support just via NetBeans, and some of our toolchains are just crazy :)
In my experience, NetBeans has the most advanced C/C++ support (I can't wait to see Objective C too!) available up to date.
As soon as I have finally some time back I'll share my experiences with you guys in the cnd forums.
Thanks for the great work!
(In reply to comment #16)
> I just downloaded NB 6.9.1 but the problem is still there
It is expected
>, do I have to wait
> for 6.10 to come up to have the fix in?
or use nightly builds
I'm using QNX 6.4.1 (on Windows XP) to develop on x86 and ppc.
I've installed NB 6.9 NightBuild (14/8/2010) and I've just tried to make NB to register the QNX toolchain, doing the following:
1. in Tools/Options/C-C++
3. point to "C:\QNX641\host\win32\x86\usr\bin" where I previously set some links (on a previous attempt) to ntox86-xxx.exe -- like gcc, g++, ar, as
4. the toolchain was recognised as 'unknown', selected 'MinGW' as a dummy toolchain and then it picked up all relevant binaries: gcc.exe, make.exe etc.
5. set new toolchain as default.
I've just tried compiling a sample project with that toolchain and it worked fine (clean/build). Will need to test this more through fully but it seem to be getting somewhere.
NB doesnt allow renaming toolchain from the GUI, which could be a minor improvement for next release.