Porting C++ OpenCV program to Ubuntu [closed] - visual-c++

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I have a complete program that uses opencv which I have written in C++ on Microsoft Visual Studio 2010. I have now been asked to assess the possibility of getting the program running on a Ubuntu server, of which I have no experience.
As such, my questions are:
1 - Does any one have a good tutorial for porting applications from C++ Windows to Ubuntu?
2 - on a scale of 1-10 (1=easy) how difficult would this be?
3 - Ubuntu will be running on a server, does this make a difference to OpenCV?
I have had zero experience with Ubuntu so a step by step guide would be really great if anyone can help!
many thanks for your help,
Kay.

If you have written your program in standard C++, you will have no problem compiling. The problem might be for example in linking the libraries you are using. Depending on the complexity of your project, you might have to find an adequate building system, like cmake. It's better if you implement the latter first in Windows. Did you build yourself OpenCV? Do the same for Ubuntu, DO NOT USE the distribution OpenCV packages available with Ubuntu.
If you have somebody that knows about Ubuntu assisting you, it will be much smoother.
No difference, if you use it like a normal work station. If you access remotely, you might have to solve some visualization issues.

Related

Is linux any good for programming? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm thinking of buying a netbook with linux installed for school and at home, but i'm not sure. Because i want to use it for things such as word as well as doing some coding.
Is there a terminal in it?
I've also heard that it can't run .exe is this true?
P.s what are the best linux netbooks and operating system? Thanks!
I would like to program in:
Python
Javascript
Ruby
and also would like to do some web development
Programming
I think that Linux is really great for programming. Installing other libraries is really a breeze. I would wholehardedly recommend Linux for Programming in:
C
C++
Python
Java
PHP
JavaScript
Haskell
Lua
Lisp
You can also do C# with the Mono toolchain, but I am not sure how compatible that is with the C# and .NET from Windows.
On Windows, I find programming a pain. C does not really work (unless you use Visual Studio maybe), Java works pretty well. Python works also kind of well.
If you want to develop games that run with DirectX, Windows is your only option. OpenGL seems powerful as well, and that runs everywhere.
Word
Doing “Word” stuff should be okay with LibreOffice or OpenOffice.org. It might not be super compatible with Microsoft Word, but you should do fine.
Linux Distro
Go with Ubuntu, maybe Xubuntu or Lubuntu on a Netbook. If you do not like Ubuntu, openSUSE and Fedora would be my next recommendations.
Hardware
Try to get as much Intel hardware as possible, that usually works flawlessly.
All of them.
For newbies I recommend Debian or Ubuntu but it depends on personal preferences.
Ubuntu has app center where you can find a lot of useful apps. Ubuntu has also great support for graphic interface.
Try it for free here.

Experienced Windows programmer wants to learn Linux programming [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Experienced Windows programmer wants to learn Linux programming.
I have a Windows 7 machine. No Linux installed yet.
I have to learn from scratch including installation and then programming.
I have been programming in C/C++ for lots of years - nothing to learn here.
Just the Linux stuff.
Any good tutorials that match the situation?
How long should it take?
To get used to a linux environement, I think you should first get a live CD/USB of any Linux distribution that you want. By example you can follow this tutorial for Ubuntu or this one for Fedora.
Then, you can open a terminal and follow another tutorial like this one, to start programming on Linux.
Finally, if you need to install the Linux distribution, you should know that nowadays every good Linux distribution have a very easy installer directly available from their live CD/USB. Just put your basic configuration and click next !

Porting an application from Linux to Windows [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I have one application, which has been developed on Linux (gcc based), I need to port the entire application to Windows.
Can you suggest me which tool/interface should choose to build the environment?
If I choose Visual Studio, will it support GCC compiler tool chain or which one is suitable among MinGW and Cygwin ?
Please give me some Inputs and the challenges will there while porting.
Thanks...
I would recommend an abstraction layer for all your OS-dependent routines. You then provide two implementations of those routines. One for Linux, one for Windows, and you compile one or the other depending on the current platform. You should keep the portable code well separated from the platform-specific code.
Of course you could also use an already existing platform abstraction layer, like Qt's Core module (which provides abstractions for threading and I/O) or the Network module, which provides portable networking. Of course I cannot determine whether this is suitable in your case or not, since I don't know what kinds of system calls you need or if C++ is even acceptable, but it might be worth looking into it (or other similar portability libraries.)
As a compiler, you can actually build the Windows binaries under Linux. I've been doing that for a long time now, since I'm not a Visual Studio kind of guy. I prefer the likes of CMake or Autotools. For that, I recommend MXE.
Well, GCC is just the copiler. I assume they are just c or cpp files so just compile them in windows with a windows compatible c/cpp compiler.

A lightweight Linux version for web development? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I am fairly of familiar with Ubuntu and I have used it a lot in the past for programming purposes, but right now I would like to try something different. Instead of doing a dual boot on my computer, I am going to do my PHP development in a Virtual Machine, probably using VMWare or whatever.
The problem is, that with only 4GB of RAM, it seems like recent versions of Ubuntu are a bit too heavy to run really smoothly on this computer. So instead, I am searching for a Linux system that can easily run with only 1/2 or 1 GB of RAM assigned to it.
What would you suggest for this?
I'm not really sure if it makes a difference, but here's a list of the things I'll really need to be using in it:
apache2
php5
php5-memcache
php5-sqlite
memcached
postgresql
php5-pgsql
phppgadmin
I understand that this is not really the typical kind of questions you find on stackoverflow, but I'm very certain that it may be useful to somebody someday.
Take a look at Vagrant. It will share your current directory with the guest. So you use your native editing tools and your native browser to test things. That way the VM stays small with no GUI.
I recommend Puppy Linux if you're looking for a lighter Linux distribution.
http://puppylinux.org/wikka/MinimumSystemRequirements
http://puppylinux.org/main/Overview%20and%20Getting%20Started.htm

Having a hard time tracking down all linux dependencies for Qt based app [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I have my app working on OSX and Win, but am having a hard time tracking down all of the required dependencies for Linux. Ideally I'd like to be able to run it on Fedora, CentOS and possibly Ubuntu. Ubuntu is lower priority however.
Will someone help me figure this out? I can get my way around Linux decently well but am not a pro. This has me quite stumped.
http://www.genecrucean.com/tmp/KickAssGUI.tar.gz (It's a simple GUI app for a 3D renderer called Arnold. www.solidangle.com)
Currently your tarball contains the binary .so files for Qt 5. This is usually not the way to do it on Linux. You can either provide the source code of your program and let the users build it for themselves, or you can kindly provide a pre-built package (.rpm or .deb) for the Linux distribution in question. This means building packages specifically for a certain release of Fedora, again for CentOS, and again for Ubuntu. These packages would depend on libqt5, a package provided by the Linux distribution itself.
For finding out more dependancies, use ldd:
$ ldd program
Running the same compiled binary across different Linuxes is usually a no-no because of differences in the versions of the underlying shared libraries, although some companies do it, namely for commercial games.
If you use static linking then it can work. Until they change something big in the kernel.
You should also take the target architecture into consideration: ia32, amd64, or maybe something else.
Maybe this question is better answered at ServerFault.

Resources