Recommended IDE?

Dec 12, 2008 at 10:46pm

Recommended IDE?

Do any recommend any particular compilers, debuggers, linkers, and IDE for cross-platform development?

#41325
Dec 29, 2008 at 3:43pm

The “Cygwin” environment is close and compatible with the Gnu dev environment that underlies both Apple’s Xcode and all Linux development. I am fairly sure have seen notes here from people using cygwin code to compile and link Max objects in windows (
it’s free). Anyway, i want this to be true: I have an object I want to build in “Weendows” that i use all the time in mac…

Lemme know, you non mac sorts: other than paying the “VisualStudio” tax to M$, can’t I just use Cygwin?

your’s truly,
char lieb

#147056
Dec 29, 2008 at 3:45pm

PS: What about Java?
javac/jvm should (by definition) be compatible across platforms….
l&k
cfb

#147057
Dec 29, 2008 at 4:33pm

there’s no cross-platform ide that i’m aware of, possible exception of eclipse with cdt extension. but even with eclipse, you have to have separate workspace folders.

easiest is to just use what the sdk uses, xcode for mac, vs 2008 express (free version) for windows. they are both completely adequate ide’s and easy enough to do cross platform development with.

#147058
Dec 29, 2008 at 4:38pm

Microsoft has a free ‘express’ versions of Visual Studio. The documentation states Max requires some Visual Studio DLLs ins tandalone mode, but the forum states they are no longer required in the current 5.x version. However Visual Studio by definition is PC specific.

Java would be theoretically suitable for developing ‘cross platform code.’ My experience to date has been that Java rarely operates across platforms without modification, and Java applications tend to stop working after a few years unless they are modified to work with the new VM engines, as the vendors update them. And that being said, it would only be suitable for extensions, and not for building complete standalone applications and VSTs.

To my knowledge, Cygwin provides a command-line compilation and build environment, rather than an IDE. A number of IDEs exist for Cygwin these days. I was wondering if any Max developers had favorable experiences with any of them.

#147059
Dec 29, 2008 at 4:44pm

Cross post with above writer….Making a cross platform build in Eclipse is a major endeavour. I was wondering about code::blocks?

There are a couple dozen IDEs here:

http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments

#147060
Dec 29, 2008 at 4:44pm

For C external development with Max, you’re best off using visual studio.
wes

On Mon, Dec 29, 2008 at 10:38 AM, Ernest wrote:
>
> Microsoft has a free ‘express’ versions of Visual Studio. The documentation states Max requires some Visual Studio DLLs ins tandalone mode, but the forum states they are no longer required in the current 5.x version. However Visual Studio by definition is PC specific.
>
> Java would be theoretically suitable for developing ‘cross platform code.’ My experience to date has been that Java rarely operates across platforms without modification, and Java applications tend to stop working after a few years unless they are modified to work with the new VM engines, as the vendors update them. And that being said, it would only be suitable for extensions, and not for building complete standalone applications and VSTs.
>
> To my knowledge, Cygwin provides a command-line compilation and build environment, rather than an IDE. A number of IDEs exist for Cygwin these days. I was wondering if any Max developers had favorable experiences with any of them.
>
>
>

#147061
Dec 29, 2008 at 5:16pm

Referring to the original post:

Do any recommend any particular compilers, debuggers, linkers, and IDE for cross-platform development?

hmm…and this is cross platform how?

At least Cygwin and XCode use the ubiquitous and well known GCC tools. And IDEs are graphic by definition?
Nonsense, check your definitions. A commandline dev environment is still a dev environment. If the programs for devlopment work together as a suite of development tools (SUCH AS THE GCC TOOLS
), the are an “IDE”, because they are a dev environment, and integrated into a mostly complete “suite” of apps: An “Integrated Developement Environment”!!
Geez, seems everybody needs a visual “helping-hand” these days: G*d forbid they have to go back and code on a VAX teletype console…couldn’t have been any good programming done back then, huh?

Other than syntax highlighting
(available in any number of dev style text editors),
and HIDING compiler options from young developers
(an altogether great loss to IT training),
I don’t see what is missing from CYGWIN?
If the Max/Msp dev on windows requires libs found only in the MS VisualStudio environment, then , well, BY DEFINITION we cannot have a single true “cross platform” IDE. VisualStudio will never appear on Mac, and XCode will never appear on Windows. Let’s hope any such requirement on a particular dev environment will not always the case…
just my tuppence,
Dr. Charlie Baker, Ph.D.
ps: sorry for the uninterpreted html, habit….

#147062
Dec 29, 2008 at 5:38pm

Thanks for the comments, Doctor. While I may have been programming machine code before you started school–they didn’t teach programming at school in those days, it was too newfangled–over time I have become accustomed to computers assisting me in writing code, instead of making it more difficult. That’/s called an IDE, highly disliked in academic communities because they reduce the need for college credit.

It’s true, there are those who prefer everything to be as difficult as possible for other people. And it’s true, when C libraries had 100 functions if you were lucky, books were easier than context-sensitive help with code snippets.

And I have some good news for you. Visual Studio DLLs aren’t required any more. I tried to state in my original post, but it was obviously obfuscated by my inferior writing schools. Please excuse me for being unclear. I will aim to write more simply for you in the future.

#147063
Dec 29, 2008 at 5:55pm

> For C external development with Max, you’re best off using visual studio.
wes

Thank you, Wes. I’m updating to the new version of Visual Studio now.

#147064
Dec 29, 2008 at 6:12pm

Quote: Ernest wrote on Mon, 29 December 2008 10:38
—————————————————-
> Thanks for the comments, Doctor. While I may have been programming machine code before you started school–they didn’t teach programming at school in those days, it was too newfangled–

Unlikely: my first machine code = 1987, Zilog assembler for the Z80 processor.

>over time I have become accustomed to computers assisting me in >writing code, instead of making it more difficult. That’/s >called an IDE, highly disliked in academic communities because >they reduce the need for college credit.

This is silly:
First, I am no longer @ a university. (Sr. Production Support Developer for very large property insurance corp. meaning i fix code written by young programmers..so my comments have immediate, NON-ACADEMIC sources and applications.)
Second, so being not able to code without visual tools is somehow is superior to those who occasionally still use the commandline ?

>
> It’s true, there are those who prefer everything to be as difficult as possible for other people.

Arguement Ad Hominem. Ok, you are an undereducated JERK.
Persuasive, eh?

> And it’s true, when C libraries had 100 functions if you were >lucky, books were easier than context-sensitive help with code >snippets.

Oh, come off it. How much context-sensitive helps do you have when generating MSP externs?!
If you still need syntax help with loops or assignment…er…

>
> And I have some good news for you. Visual Studio DLLs aren’t >required any more. I tried to state in my original post, but it >was obviously obfuscated by my inferior writing schools. Please >excuse me for being unclear. I will aim to write more simply >for you in the future.
>

don’t apologize to me about your writing skills, or lack thereof.

you were perfectly clear, but many still code to MSP4, so…many still have this M$ requirement.

As for your insult about having to use simple language: I will take this off line w/ u , if you desire: we can start by discussing Patrick Suppes’ Axiomatic Set Theory , an area deeply lacking in the education of college age programmers. In my opinion, knowledge of modern set theory is critical to training of programmers (and especially relational database practitioners.) It really helped that my (not required
) Minor in college was in philosohpical logic/ foundations of mathematics. But such a discussion should probably take place off line > In general, I request get over your insulting tone or i will further respond in kind.

char lieb
PS:
sheeesh< some people are easily insulted: the only real disagreement is that he feels that CYGWIN by itself not an IDE, & I feel it is, having used EMACS/GCC/CYGWIN to do cross platform work for a long time (most recent company I did this for: Verity, Inc., before I came back to east coast to care for my dying parents.. look it up)

#147065
Dec 29, 2008 at 6:15pm

#147066
Dec 29, 2008 at 6:34pm

Thanks, Mr. Clayton.

RE: Description of gcc arguments:
“-c” means compile.
“-mnocygwin” etc.

I wonder if there were not templates for XCode & VS that provide these paths/configurations to the compilers/linkers…would such a perceived advantage for the large visual IDE’s still exist?

And could there not be a template created for some Cygwin visual ide that simplified this for win MSP development?

yes, my dislike of Visual Studio is deeply personal, and ANYONE who has lost data due to a virus made easy by the short-sighted, poor security design of the “Back Office” API for Windows should understand this.
I had a friend who was interviewed @ M$ when they declared (in response to Euro lawsuits) that they needed to shore up system security. His previous work was @ RSA.
His inteviews went fine, until he got up the chart to an interview with an original Window 3.X coder.
The old coder said “We’re not gonna hire you, or anybody from RSA…all this security c**p is useless, I should know I wrote Windows.” (oh, and the four letter word *was* confirmed by my respondent).
Given this attitude,,and the exceptionally weak security coding in Win., how can the business world spend so much every year in security software/hardware, and not be absolutely aghast at such attitudes (and code) from Mikrosquish!?!?!?!?

ok, so I hate windows. I’ll still compile my externs for it, someday, sigh ;-).

many apologies for rant.
charlieb

#147067
Dec 29, 2008 at 6:51pm

Hey doctor, you insulted me first.

My first machine code was for 6502 in 1979, at Oxford University (UK).

#147068
Dec 29, 2008 at 7:03pm

#147069
Dec 29, 2008 at 7:05pm

Quote: Ernest wrote on Mon, 29 December 2008 11:51
—————————————————-
> Hey doctor, you insulted me first.
>
> My first machine code was for 6502 in 1979, at Oxford University (UK).
>
>
—————————————————-

great, and my first coding was in fortran in 1979 , for a GE analog computer, solving least square fits for regeneration curves of retinal visual pigments (‘rhodopsin’), for my mother’s research project. Later, I worked on a little Sinclair (personal computer!!!) for my father’s lab, controlling in-vivo measurments of the color visual pigments in a controlled bleaching setup. Thus the Z80 coding.
Then i became a performing orchestral trumpeter (all way through doctoral schools, paid my way thusly…).
SOOO…..
:) we’re both old.

And I really want to point out: I did not insult you, I disagreed with you. Amazing how any disagreement is seen as an insult. we don’t agree about Cygwin. Sorry, made a lotta money doing cross platform (Solaris/Windows/Mac/AIX/BSD) work with Cygwin. I still approve of it.

take care,
much love& many kisses,
a sincerely apologetic
Char lieB

#147070
Dec 29, 2008 at 7:40pm

This is just great info, thanks! I wonder if I still have an active MKS toolkit license….can’t imagine programming in Cygwin without it :)

With regards to whether a command line ins an integrated development enviornment: I am really not interested in belittling others, or being belittled by any else. Thank you nevertheless, and if people want to talk down to other people, they’ll have to find another uneducated person from Oxford University to spit on. Now I am going to try and accomplish something useful. Good day.

Quote: jkc wrote on Mon, 29 December 2008 11:15
—————————————————-
>
> On Dec 29, 2008, at 7:43 AM, Charles Baker wrote:
>
> >
> > Lemme know, you non mac sorts: other than paying the “VisualStudio”
> > tax to M$, can’t I just use Cygwin?
>
> VS 2008 Express is a free, high quality optimizing compiler with
> decent debugging tools. Personally I find this easier to use than the
> cygwin stuff, but if you take a look at the SDK, we’ve provided some
> instructions on how to use cygwin to compile max externals. At the
> bottom of this message is info from the “Development System
> Information” page in the SDK.
>
> However, if you choose to take this route, as for an IDE, you’ll need
> to figure out what works best for you (eclipse, emacs, etc. in
> conjunction with gcc and gdb), and there may be some additional things
> which you’ll need to learn for yourself along the way. Our “official”
> suggestions are to use VS and XCode, but you can use any tools that
> you feel comfortable with, provided that you understand that we do not
> have resources to support all development paths. Personally, I find
> the ideological bias against using a free MS dev environment while
> using an MS operating system which you have to pay for ironic, but you
> obviously have strong opinions in this area which I can respect. None
> of us are rational beings, despite our very strong ability to
> rationalize our irrational positions.
>
> Have fun developing, and remember there’s not much that’s special
> about Max MSP development, so please take some time to research cross
> platform development options online to see what solution appeals most
> to you, and how to implement it technically. If you come up against
> specific issues, please feel free to post them here and we’ll try to
> answer them, time permitting.
>
> -Joshua
>
>
> Compiling with Cygwin
>
> It is also possible to compile Max external objects on Windows using
> Cygwin. The following steps show how to build the simplemax project
> from the MaxMSP SDK using Cygwin’s gcc (Gnu Compiler Collection). This
> provides access to a high quality, free C compiler using the Cygwin
> Unix tools for Windows.
>
> Requirements
> Install the following Cygwin packages. Feel free to add on any other
> Cygwin packages that strike your fancy. The Cygwin installer and more
> information can be found at http://www.cygwin.com/
>
> � Base (ALL)
> � Devel
> � binutils
> � gcc “GCC Compiler”
> � gcc-mingw “Mingw32 support headers and libraries for GCC”
> � gcc-mingw-core “Mingw32 support headers and libraries for GCC”
> � mingw-runtime
> Build Steps
>
> STEP 0: cd to the directory containing the minimum SDK example project
> STEP 1:
>
> gcc -c -mno-cygwin -DWIN_VERSION -DWIN_EXT_VERSION -I../../c74support/
> max-includes simplemax.c
> Description of gcc arguments:
>
> “-c” means compile.
>
> “-mnocygwin” means use the Microsoft standard C libraries, instead of
> Cygwin standard C libraries. This step is important if you wish to
> distribute your extern to people that might not have Cygwin installed.
>
> “-DWIN_VERSION” and “-DWIN_EXT_VERSION” define these preprocessor
> definitions on the command line to guarantee that the header files and
> source code know it is being compiled for a Windows machine, instead
> of Macintosh.
>
> “-I../../c74support/max-includes” specifies an additional directory
> where the necessary headers files will be found.
>
> “simplemax.c” is the compiler input.
>
> STEP 2:
>
> gcc -shared -mno-cygwin -o simplemax.mxe simplemax.o simplemax.def –
> L../../c74support/max-includes -lMaxAPI
> Description of gcc arguments:
>
> “-shared” means link files to make a DLL.
>
> “-mnocygwin” means use the Microsoft standard C libraries, instead of
> Cygwin standard C libraries. This step is important if you wish to
> distribute your extern to people that might not have Cygwin installed.
>
> “-o simplemax.mxe” specifies the name of the output file.
>
> “simplemax.o” and “simplemax.def” are the linker input. The .def file
> is necessary to ensure that the function main will be exported.
>
> “-L../../c74support/max-includes” specifies an additional directory
> where library files will be found.
>
> “-lMaxAPI” means link to the MaxAPI.lib linker library for MaxAPI.dll.
>
> STEP 3: copy your file to a directory in your search path. For example:
>
> cp minimum.mxe c:Program FilesCommon FilesCycling ’74myexterns
> Additional NotesYou can ignore the warning that main() does not return
> int. This message is harmless, and only relevant to applications, not
> shared libraries.
>
—————————————————-

#147071
Dec 30, 2008 at 12:40am

I got the free version of Visual Studio 2008 installed. There is a minor preoblem with the current release that could affect some users, it needs to uninstall and reinstall old versions of the .NET framework back to 2.0. I had deleted the installer backup files on my machine that were more than a year old, and it couldn’t uninstall .NET framework 2.0 automatically–and apparently disk cleaners sometimes remove the system backup directories invisibly, so it is a common problem.

The 3.5b1 distribution with Visual Studio appeared to include the .msi files but they are slightly different and the Windows installer could not make use of them. On research I followed advice to run a registry cleaner (I used ccCleaner but any will do), then downloaded the full .NET framewrok v3.5sp1 distribution package (237MB). This included all the uninstallers for previous framework versions. I was able to install the .NET Framework 3.5sp1 from that package, then complete the Visual Studio installation without hitch.

Visual Studio 2008 does however require replacing the old .NET framework versions 2.0 and 3.0 with 2.0sp2 and 3.0sp2, which may make it backwards incompatible with some older devtools.

#147072
Jan 11, 2009 at 11:40am

Did you try flext?

http://puredata.info/Members/thomas/flext/

“Source code based on flext is able to exploit nearly all features of the respective real-time framework while staying completely independent of the actual host system and platform (hardware and operating system).”
from flext-intro.pdf

I tried flext, but I couldn’t make it work properly. Since there are so many wise guys out here, I challenge you to help on that issue.

#147073
Jan 11, 2009 at 6:09pm

I’d try flext if a contract required it, otherwise I’m not enough of a wise guy to respond to challenges.

#147074

You must be logged in to reply to this topic.