|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Universal C++ Project - C++ programming for Linux, and more
While WindRiver provides an excellent programming environment, it is not suitable for everyone. The Universal C++ Project (UCPP) aims to provide development tools that allow programmers in different environments, such as Linux, Mac OSX, Eclipse, command line, and others. At the same time, we intend to remain compatible with WindRiver projects, allowing WindRiver and UCPP users to collaborate on projects.
Project Pages and Downloads: FIRST Forge project: http://firstforge.wpi.edu/sf/projects/ucpp Releases (zip files): 0.1+git20110208 Source code via git: https://github.com/nikitakit/ucpp Instructions for installing and using UCPP are in the readme file accompanying the source code. Platforms currently supported: Linux with WindRiver files -- Compile C++ code on Linux with a WindRiver installation (ideal for dual-boot systems with WindRiver installed on the Windows drive). There is a command line interface for generating Linux makefiles for a C++ project and runs WindRiver gcc under wine in order to compile the project. Linux without WindRiver files -- Same as above, except that the compiler, VxWorks, and WPIlib are automatically downloaded from the Internet Windows using the MSYSgit command line -- Still requires WindRiver to be installed, but if you prefer to use another IDE or text editor you can now compile and deploy code from the command line. Platforms coming soon... Windows/Cygwin command-line interface (this should be possible with just a minor bit of tweaking) MacOS X port of the Linux environment Cross-platform Eclipse IDE plugin (about half done) Explorer/Nautilus(/Finder?) right click build and deploy options Project Members: nikitakit byteit101 andreboos Special thanks to: AustinSchuh |
|
#2
|
|||
|
|||
|
Re: Universal C++ Project - C++ programming for Linux, and more
Interesting, I'll be looking forward to this next year when we program in C++. (That is if we do)
|
|
#3
|
|||
|
|||
|
Re: Universal C++ Project - C++ programming for Linux, and more
I'll definitely try this out tomorrow--cool stuff.
|
|
#4
|
||||
|
||||
|
Re: Universal C++ Project - C++ programming for Linux, and more
Is there support for reading the target console output without NetConsole?
|
|
#5
|
|||
|
|||
|
Re: Universal C++ Project - C++ programming for Linux, and more
Quote:
Code:
socat UDP4-RECV:6666 STDOUT |
|
#6
|
||||
|
||||
|
Re: Universal C++ Project - C++ programming for Linux, and more
While playing around with it, the compiling appears to be working great. However, I am having a small problem with the Makefile in the root directory of the project. Using the default configuration, I get the following error when attempting to run make (I get the same output when running make deploy):
Code:
cd PPC603gnu && exec make -f Makefile_linux "Makefile" make[1]: Entering directory `/home/wiredcats/code/Wiredcats2011/PPC603gnu' make[1]: *** No rule to make target `Makefile'. Stop. make[1]: Leaving directory `/home/wiredcats/code/Wiredcats2011/PPC603gnu' make: *** [Makefile] Error 2 Code:
#UCPP makefile
# For the default target, use the WindRiver makefile
all: force
cd PPC603gnu && exec $(MAKE) -f Makefile_linux
# TODO: insert targets that download gcc and WPIlib
# For all other targets, use the WindRiver makefile
deploy: force
cd PPC603gnu && exec $(MAKE) -f Makefile_linux deploy
force: ;
I'm running Ubuntu 10.04 with GNU Make 3.81 if it helps. I'm about to head to the shop, so I'll keep you posted on whether or not it successfully deploys and runs. |
|
#7
|
|||
|
|||
|
Re: Universal C++ Project - C++ programming for Linux, and more
My best guess at what is happening is that "Makefile" is a default target of sorts, and it gets matched by the wildcards. For some reason, I don't have any problems on my machine. Maybe it's because I have a WindRiver makefile so the "Makefile" target is skipped instead of giving an error.
I think I've finally figured out how to fix it: Code:
#UCPP makefile
# Default target
all: force
cd PPC603gnu && exec $(MAKE) -f Makefile_linux
# Don't do anything for the "Makefile" target
Makefile: ;
%: force
cd PPC603gnu && exec $(MAKE) -f Makefile_linux "$*"
force: ;
|
|
#8
|
||||
|
||||
|
Re: Universal C++ Project - C++ programming for Linux, and more
That fix worked great (once I redid the tab spaces)! I have successfully loaded code from Ubuntu to the cRIO. Thanks for the great tool, I'll be using it here on out
![]() |
|
#9
|
|||
|
|||
|
Re: Universal C++ Project - C++ programming for Linux, and more
Great! I'm going to commit those changes and maybe make a quick patch-up release.
|
|
#10
|
||||
|
||||
|
Re: Universal C++ Project - C++ programming for Linux, and more
I keep all of my tasks in a separate folder in my root directory named Tasks. It looks like by default, UCPP is only looking for files in the root directory to add to the Makefile. Is there a way to add those files in the folder? I solved my own problem. I created a file named .ucppdirs in my root directory of the code, then edited ucpp_gen_makefile.py as such: Code:
# Find all the C++ files in the current directory
file_names = []
d = file(".ucppdirs", "r")
dirs = d.read()
d.close
for direc in dirs.split():
for filename in os.listdir(direc):
if filename[-4:]==".cpp":
file_names.append(direc + filename[:-4])
Last edited by davidalln : 12-02-2011 at 15:38. Reason: problem solved! |
|
#11
|
|||
|
|||
|
Re: Universal C++ Project - C++ programming for Linux, and more
I managed to try this out today, and it worked flawlessly. Thanks guys!
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|