`
jimlaren
  • 浏览: 42678 次
文章分类
社区版块
存档分类
最新评论

How Do I Compile an Application?

Web 
阅读更多

When a distribution package is not available, the source code is always available to compile with Open Source applications. Compilation is the process of converting programming code into a program that you can run and use. Although it sounds like a devilishly difficult process, it is typically fairly simple.

You should first have a look on the application's Web page, or in the INSTALL or README file that is included with the code to see what software the application needs to run. When you know what is required, use Synaptic to search for the required tools. Many of the requirements will be software libraries (software that applications require to run), and these libraries typically have "lib" at the start of the package name. As an example, if you need to have the Vorbis audio codec installed, do a search in Synaptic for Vorbis, and libvorbis will be one of the packages. You should also install with -dev at the end of the package name (such as libvorbis-dev). These packages allow you to compile software for that library.

The process of compiling software involves three steps: (1) configuration, (2) compilation, and (3) installation. Open a terminal, move into the directory from which you extracted the source code, and configure it:

foo@bar:yourapp$ ./configure

When you run ./configure, it checks to see that you have all the required software. If it throws an error, it is likely that a required tool or library is missing. Find out what it is, and install it. Typically, configure will tell you what you need to install.

If the configure script works fine, compile the code with this command:

foo@bar:yourapp$ make

If a problem appears when compiling the software, it may be a bug or problem in the source code. It is best to refer your problem to the author of the code for further help.

If the compile process was successful, install the application with this command:

foo@bar:yourapp$ sudo make install

The software is now fully installed.

评论

相关推荐

    IBO v5.3.3 Build 1955(January 2, 2014) Full Source

    I totally reworked the NT Service app sample application into a 100% functional application that shows you how to replicate a portion of a table into a separate database and how to put a full text ...

    Flappy Bird Clone Source Code For Delphi XE5 Firemonkey On Android And IOS

    I might also try to use Frames to do this but I’m not sure how they do transparency. Using a visually designed TBitmapAnimation to swap between the images of the flying firemonkey and the ground bar...

    Xcode.5.Start.to.Finish.iOS.and.OS.X.Development

    Part II The Life Cycle Of An Ios Application Chapter 8 Starting An Ios Application Chapter 9 An Ios Application: Model Chapter 10 An Ios Application: Controller Chapter 11 Building A New View Chapter ...

    MFC+Windows程序设计

    After introducing a fundamental skill, such as how to write a message handler with ClassWizard, I thereafter let the source code do the talking and assume that you can figure out how the source code ...

    sqlite3在Visual studio 2012下的编译

    To compile 3.3.7(this may apply to other versions too), I had to do this extra step: Add the project directory to the include path, here's how to do it in details: Under Project > Properties ...

    VC技术内幕第五版.chm

    After introducing a fundamental skill, such as how to write a message handler with ClassWizard, I thereafter let the source code do the talking and assume that you can figure out how the source code ...

    Mastering OpenCV 3 - Second Edition.azw3格式电子书下载

    Create an application for Automatic Number Plate Recognition (ANPR) using a support vector machine and Artificial Neural Networks Train and predict pattern-recognition algorithms to decide whether an ...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    How can we use a class Foo in a header file without access to its definition? We can declare data members of type Foo* or Foo&. We can declare (but not define) functions with arguments, and/or ...

    UE(官方下载)

    Is there an easier way to do this?" The answer is: yes! Configure FTP Set up and configure multiple FTP accounts TaskMatch Environments How to use TaskMatch Environments in UltraEdit and UEStudio ...

    VB编程资源大全(英文源码 文件)

    This language can also combine itself with a DLL (source included) and compile into an EXE! <END><br>59,BINVIEW.zip BINVIEW is a 400 byte scrolling binary viewer that can display any part of any ...

    微软内部资料-SQL性能优化3

    Application A lock resource defined by an application. The lock manager knows nothing about the resource format. It simply compares the 'strings' representing the lock resources to determine whether ...

    crtmpserver源码

    Instructions how to compile and use C++ RTMP Server (a.k.a crtmpserver) Requirements: * GCC and other C++ tools * SVN * libdl, libssl, libcrypto (make sure you have the "devel" packages of libdl, ssl...

    国外下载的Win32++类库(纯C++代码封装的windows SDK),附源码

    使用C++代码封装的win32操作类, 与MFC相似,对于学习SDK与C++是... An illustration of how to use messages to control the windows behaviour (including closing the application) will be left until tutorial 3.

    VB编程资源大全(英文源码 网络)

    I had observed the large number of postings on various forums about this topic so I have included a well documented application to assist those who would be using this feature in their applications...

    CanFestival3. Version 3.0 The CANOpen stack manual

    - **Q: How do I install CanFestival on Linux?** - A: On Linux, you can install CanFestival using package managers like `apt` or `yum`, or by compiling the source code manually. - **Q: Can CanFestival...

    VclZip pro v3.10.1

    Use this with care as this is still somewhat experimental and I'm not sure how useful it is yet. You must make all changes within the buffer sent in to you. Treat the entire file as a stream. Byte ...

    AndroidPhotoView

    Use the HackyDrawerLayout as a template of how to do so. The basic implementation is: public class HackyProblematicViewGroup extends ProblematicViewGroup { public HackyProblematicViewGroup(Context...

    Metal.编程向导英文版.and.Reference.via.Swift.pdf.zip

    Metal: The New Way to Do Graphics on Apple Platforms 6 Metal in Context: How Metal Complements and Supports Other Platform Frameworks 10 Summary 10 Chapter 2: Overview of Rendering and Raster ...

    Java邮件开发Fundamentals of the JavaMail API

    Should I take this tutorial? Looking to incorporate mail facilities into your platform-independent Java solutions? Look no further than the JavaMail API, which offers a protocol-independent model ...

    BobBuilder_app

    I also tried an assorted number of sorting routines like double pivot quick sort, timsort, insertion sort and found that they all were slower than the internal .net quicksort routine in my tests. ...

Global site tag (gtag.js) - Google Analytics