which development software should be used for VLC on mac? - c

i want to do some modification and development for VLC. i download its source code, vlc-1.1.5. and it is written by C. so usually which development environment should i use, xcode or some others?
thx...

I thought VLC was developed in Qt. Do you see the class names starting with Q? In case it is developed in Qt, Qt Creator or KDevelop would be a good choice of development environment.

The VideoLAN folks provide a wiki page with information about compiling their source on multiple platforms. The page relevant to OS X is here: http://wiki.videolan.org/OSXCompile
Compiling VLC media player on Mac OS X is different from normal linux compiling and OS X compiling. We do not use Xcode, but a simple ./configure and then make isn't enough either.
The page provides a step-by-step guide to setting up a machine running either OS X 10.5 or 10.6.

Any editor of choice should suffice. Looking at the code, it seems that VLC uses Unix-style building (autotools, make, etc). On Win32, it uses MinGW, so plain old gcc and make is probably used on OSX as well.

Related

Using different GCC to build Linux vs Linux Apps

This question may seem weird for some gurus out there, but I'm a little perplexed.
Basically what I want to do is to evaluate different tool chain for developing applications on embedded Linux. Say I have my Linux built using Yocto Project, which cross-compiles GCC from scratch can provide it as a cross toolchain for apps developers.
But if I want to try out different toolchains fro this point, say Sourcery CodeBench or a toolchain generated using BuildRoot, is it possible to build a applications using these toolchains and still run them on the Yocto-generated Linux? I'd imagine this is doable is built statically. But if we then want to link dynamically, it's simply a matter of copying over libc?
Thanks for the help. Sorry if question is ambiguous.

OS X Xcode/clang to build Windows executables?

Is it possible to build classic Windows executables (Windows 8 support is not required) from C source code using the latest Xcode/clang compilers on a current Mac (e.g. without using gcc or a VM to run Linux or Windows)?
After thinking why the hell would you want to do this?, I just surprised myself and found what may actually be a solution!
The Cocotron
The Cocotron is an open source project which aims to implement a cross-platform Objective-C API similar to that described by Apple Inc.'s Cocoa documentation. This includes the AppKit, Foundation, Objective-C runtime and support APIs such as CoreGraphics and CoreFoundation.
Also see this blog post: Win-win with Cocotron and Xcode 4.3 — code for Mac, build for Windows (Part 1)
Although the last entry on the Cocotron site was from 2010 - so it may or may not still be alive

Dos.h + Pc.h in C and Windows Vista

I am currently looking to work with Mesa3D to create a software rendered graphic application with OpenGL.
I am looking a a few tutorials right now on how to use it, and many are written with DOS or older versions of Windows in mind. As I run Vista I don't seem to have the right files I need.
The Mesa3D tutorial I am using uses outportb() and a few other commands which I can't seem to get working. After looking around I have found you require the 2 include files:
dos.h
pc.h
These do not seem to be found within the Window's SDK that comes with Visual Studio 2010 (Express) or even the older version of 2005 (Professional) which I currently have.
They seem to be found with the DJGPP compiler that only works under DOS and is not supported in Vista, even with compatability mode. Running DosBox still does not get this to work.
I am wondering - is there perhaps a new functions replacing outportb or can I use these DJGPP files with my C/C++ complier with VS or PellesC (which I find better for C-only programs)?
In addition the conio.h include file I have with both VS and PellesC doesn't have the textmode() function, but the DJGPP version does.
If anyone could help either getting DJGPP working on Vista or allowing me to use the dos,pc and conio.h files from DJGPP with either VS or PellesC that'd be a great help!
Port-manipulating functions will simply not work in Win32 programs. Either use Win32 APIs to do I/O (rendering included) or stick to DOS and run your program in DOS or whatever DOS emulator you can find that works. Vista and later Windows won't run most DOS programs directly as the support for DOS is either severely reduced or removed altogether (e.g. in 64-bit Windows).
The low-level hardware access that functions like outportb give you is not available to programs in modern Windows environments. Such capabilities are reserved for specially-trusted code (OS internals and drivers). You need to go through higher-level APIs or drivers in order to access the same functionality.
The Mesa3D website has a readme for Windows developers that has information about what you need to install and configure. It also references some official demo code that you can use as the basis for your project. The Mesa3D website also has a repository full of demo programs that will probably serve as better examples than the out-of-date tutorials that you mentioned.
Do not use 16bit compilers on vista and higher.. instead use DOSBOX to run your programs.

C + GUI + Mac OS

i know c and I want to develop applications with GUI for Mac OS. Where do I start?
Learn Objective-C.
Then pick up Cocoa (and all of the Frameworks that go with it)
Buy Apple computer
Install XCode from supplied DVD
Run Software Update from system menu
Run XCode
Select Help menu, select "Developer Documentation"
Click on any of the many things that say things like "Quick Start" or "Getting Started with XCode".
Read
Program
GoTo 7.
Downloading xcode would be your first step. It's the main development environment for mac development and it's free. Then you'd want to get a book on Cocoa w/ Objective-C or Carbon w/ C. Apple is pushing Cocoa more.
The Simple DirectMedia Layer (SDL) library is yet another option. It is a cross-platform development library that can be used to write GUI-based applications for Mac OS in C.
While there is Carbon, it's a framework that's not first-class going forward. If you want to make sure that you can access all of the features of Mac OS X, you'll want to learn Objective-C and use Cocoa.
I believe all Macs nowadays come with a complete set of development tools. They're not pre-loaded on the Mac, but are in the CD-ROM or DVD-ROM package. Alternately, you can go to Apple's site and poke around until you find the development section, and download Xcode. (It'll be the same thing, but possibly a newer version.)
Mac OSX uses a language called Objective-C, which is C extended with OO abilities that are more like Smalltalk than the more usual Simula type (in C++, say). While you don't actually have to use it much, it is how you'll be writing interface code.
Further, it uses the Cocoa framework. There was a framework called Carbon, which was a cleanup and redesign of the pre-Mac OSX Macintosh system facilities, but it's being left behind.
You can find free information on either if you look, or you can buy books on them. Books are probably a better resource to learn from.
You can also try with QT and C++. Try here:
http://qt.nokia.com/products/platform/qt-for-mac

Winforms for Mono on Mac, Linux and PC (Redux)

(I asked this question in another way, and got some interesting responses but I'm not too convinced.)
Is Mono's GtkSharp truly cross-platform? It seems to be Gnome based... how can that work with PC and Mac?
Can someone give me examples of a working Mac/PC/Linux app that is written with a single codebase in Microsoft .Net?
Realize this is now an old question, but Banshee fits the bill for being a cross-platform application that uses GTK#. It runs on Max, Linux and Windows.
http://banshee.fm/download/
Plastic SCM is supported on Windows, Linux, Solaris, and Mac OS X. The link includes screenshots on Windows and Linux.
The best example of a Gtk# app that runs on both Windows and Linux may be Medsphere's OpenVista. Granted, its not an app that many people need to run, but it is a very professional, polished, open-source Gtk# application. It shows how a professional Gtk# app can be written.
http://medsphere.org/community/project/openvista-cis
Gtk# is cross platform. However the only platform where it looks nice is Linux/BSD running GNOME. If possible somehow, separate frontend and backend and develop separate user interfaces for Linux, Windows and OS X. Even wx, which does a really good job in looking okay on all three platforms, has its limits.
Working Mac/PC/Linux app in Gtk#? Tomboy runs on all three I think.
It would be more correct to say that GNOME is GTK-based than it is to say that GTK is GNOME based. GTK is a toolkit that GNOME sits on top of, and you can get GTK for several platforms, including Windows. That's how GIMP works on Windows: you install GTK first.

Resources