I have been using XCode on a Mac to create a simple SDL 2.0 project in C++.
I need to send the binary of the project to a company that uses only Windows 7 and allow them to run it without having to fiddle around too much.
The project uses some libraries (https://www.libsdl.org/projects/SDL_ttf/) so I am unsure on how to deliver to them something that they can run without having to install stuff.
Ideally I would want to create a binary (targeting Windows 7) which includes the libraries.
Any suggestion on how to do this?
EDIT: I found articles like this suggesting to cross compile but I am still a bit lost on how to start doing this. Will it work? Can it work on both the 32 bit and 64 bits Windows versions?
Related
I am trying to embed Google's V8 in my game engine. I'm targeting 3 operating systems: Windows, Linux and OS X.
I haven't had any problems with building for Windows - I used NuGet packages. But I'm trying to build V8 for Linux and the problem is - I'm doing this on Windows (Windows 10 if it matters).
Google doesn't exactly say how to compile V8 for Linux using Windows and now I'm really confused, as I have no idea. So far I have depot_tools, properly fetched v8 (using fetch command), Python and MinGW.
I've tried with v8gen.py, but it seems that it generates build files only for Visual Studio. As I said, I don't need VS files.
My question is: What should I do?
This is not possible out-of-the-box with the current build tools and configurations that V8 provides. As suggested in the comments, using a VM might be the quickest way to get this working for you.
If it is very important for you long-term, or for other developers as well, you could look at submitting patches to V8 to make this possible, but I don't have a good sense of how much work that would be.
I've built a relatively simple oF app which uses several 3rd-party addons. I've created the project with the project generator, and coded the whole thing in Xcode on OSX.
Now, I need to use this app on a Raspberry Pi running Raspbian. I've successfully compiled the armv6 version of oF, but I now need to compile the actual project.
So far I thought of the following options:
Try to get code::blocks running on the Pi, install oF for codeblocks, recreate the project and build.
Try to set up Ubuntu as a virtual desktop on my mac, set up a cross-compiler like this, recreate the project and build.
Pretend to be a magician – set up the OSX project on the Pi so that I could maybe compile it with make, except I have no idea whether this is possible at all.
???
So my question is: Given a severe deficiency of time and general skill when it comes to linux/compiling C++, what is the easiest way for me to get my oF app running on the Pi?
Many thanks!
The absolute easiest (and perhaps even fastest when accounting for the extra cross-compiler setup time) way is to use a Raspberry Pi 2 and compile everything directly on the board using all 4 cores. It is actually quite quick and easy to set up. To set it up, follow these instructions:
http://forum.openframeworks.cc/t/raspberry-pi-2-setup-guide/
If you would like to use a more friendly IDE like Xcode, I would recommend developing your code on OSX and then copy the project folder over to the Pi2 and execute the makefiles as noted in the setup guide above.
My experience with C++, GCC, MinGW and Cygwin is very limited. However, I already tested it and realized that Cygwin is not the ideal solution for what I am trying to do. Even though a GTK+ program with GTKWebkit works fine on Cygwin, it's not that great in terms of packaging the final project to a single .exe. The dependency on the cywin1.dll, etc... is a deal breaker.
I tested MinGW and it works flawlessly for a standard GTK only application in Windows. And the file size is great!
I tested a standard GCC compiler to compile a GTK & WebKitGtk application on Mac and it worked flawlessly.
But in the windows world where I am getting confused with GTK and WebkitGTK. What I want to do is compile a sample WebkitGTK application on Windows using MinGW. So, all the required libraries are statically linked and has a single .exe.
What are my choices? How do I actually build WebsiteGTK on Windows? Please give me the tools and as much details as you can.
FYI, QtWebkit is not going to cut it. Their licensing terms are not that commercial friendly.
I never did get WebKitGtk to compile on Windows. I think I could have got it to work using cygwin, but that's a non-starter for the project I'm working on.
I ended up using Chromium Embedded Framework instead: https://code.google.com/p/chromiumembedded/. It has clear instructions and sample apps for Mac, Linux, Windows, and mobile.
Here someone says that the easiest way to do that it's to cross-compile from virtual machine. Actually, there is binary there.
He uses OpenSUSE booted through VirtualBox. Then, using osc tool, get the mingw32-webkitgtk from windows:mingw:win32 and build it with osc.
Assume you just wrote a Qt app. Write once compile everywhere...
you have a windows 7 x86 64 bits machine. You would like to:
Statically compile this executable ( to minimize the numbers of dll/so/frameworks )
Compile it for (x86_64, x86) * (windows[all],linux,mac, and why not bsd) = 6/8 couple (cpu,os)
You also would like people to perform the simplest possible installs:
--> one file for installer which copies an sqlite database in program data and an executable in program files
--> linux via yum/yast/apt-get installs
--> i'm not sure what to do for mac
simple uninstallers
How would you do all this from your windows machine, in particular cross compile for a mac ?
Qt Installer Framework seems to be the right tool for the job. But I can't see how to compiler a mac binary anyway...
What would you use ? Any tool you often use ?
EDIT
following advice I'm looking for a cross compiler. I'll try to integrate it into Qt tool-chain... clang looks great.
http://blog.boceto.fr/2012/04/29/the-universal-compiler/
http://blog.boceto.fr/2012/05/07/the-universal-compiler-part-3-clang-targetting-mingw/
http://clang.llvm.org/docs/CrossCompilation.html
I think the best way to do this is to grab a cross-compiler, and just follow the steps indicated in the Qt Installer Framework for generating the installer executable, once for each platform.
http://qt-project.org/downloads . I downloaded the openGL since many say this set standard is better. but now i got requirement from my prof that I need to provide something that can work on windows 32/64. Is there any way that i do not have to install Qt for windows 32 and produce an application that can be run on windows 32?
what I am saying is that I only installed Qt for win64 but now I want something can work on win32 platform. so I suppose one way is to install Qt for win32 and create a new project. But I want to ask whether I can maybe do some configuration and produce something that can work on win32 using the installed Qt on win64 on my com
thanks!
For Windows Vista and up, there's no reason not to use the ANGLE implementation of OpenGL that's bundled with Qt. "many say tis set standard is better" - this is false unless you can guarantee that your customers have a decent OpenGL-supporting graphics card driver installed on their machine. I'd suggest forgetting about system OpenGL, and use ANGLE implementations.
It's trivial to compile your project for both 32 and 64 bit Qt, if you really need the 64 bit address space. For many applications, there's no reason at all to provide a 64 bit version.
No, you can't do it directly.
The only way to launch 64-bit applications on 32-bit Windows is to use emulators and virtual machines, for instance VMWare. But it reduces the application performance.