Introduction CMake Language Specific cases. CMake Tutorial. How to setup your C/C++ projects? Luis Díaz Más.
|
|
- Solomon Lambert
- 8 years ago
- Views:
Transcription
1 How to setup your C/C++ projects? November, 2012
2 Outline Introduction 1 Introduction 2 Concepts Scripting CPack 3 Qt libraries Cross-compiling
3 Introduction System for configuring C/C++ projects. Independent of: Platform IDE/Editor Compiler Generates native makefiles and workspaces Some of its major features Open source Simplicity of scripting language Modules for finding/configuring software Create custom targets/commands Out-of-Source builds Cross compiling Integrated testing & packaging (CTest & CPack)
4 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
5 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
6 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
7 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
8 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
9 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
10 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
11 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
12 Many IDEs, editors and SOs IDE Windows Mac OS X Vis. Studio Code::Blocks XCode Linux KDevelop Anjuta Multi-platform Eclipse QtCreator Editors + Tools + Makefiles Multi-platform
13 Compilers Introduction Compilers & Linkers GNU Compilers (gcc, g++, asm, fortran, etc) Visual Studio compilers MinGW (Windows Port of GNU Compilers) Intel compilers Target-specific compilers (embedded hardware) Cross-compiling Eclipse + plugins? Is it really necessary?
14 Who are using CMake?
15 Who are using CMake? Many important libraries & tools use CMake VTK KDE Blender Compiz MySQL Inkscape Qt4 & Qt5 OpenCV Point Clouds Library Boost ZLib...
16 Why to use CMake? Introduction Do not depend on specific platform, IDE or compiler. Many independent builds for each project. Easy to tune specific-platform stuff. Easy integration with other applications like Doxygen. Console and Graphical applications.
17 Typical project setup Introduction CMakeLists.txt in root directory. CMakeLists.txt files in code directories. src C/C++ libraries. tests unitary tests. utils apps using (or not) the libraries. Procedure 1 Go to project path. 2 Create build path (debug release) & go inside. 3 Run CMake indicating build & source paths. 4 Make or compile with appropriate workspace. 5 Install targets.
18 Simple example Introduction
19 Outline Introduction Concepts Scripting CPack 1 Introduction 2 Concepts Scripting CPack 3 Qt libraries Cross-compiling
20 Code organization Introduction Concepts Scripting CPack Each project in a independent directory. Each subdirectory can contain a subproject. Inheritance of configuration in subdirectories. Order of processing: Root, dir1, dir3, dir4, dir2
21 Source tree & Binary tree Concepts Scripting CPack The source tree contains: Program sources & headers. Data files. CMake input files. The binary tree contains: Native build system files (dsw, dsp, makefiles, workspaces). Libraries. Executables. Build outputs. Any other build generated files.
22 Predefined targets Introduction Concepts Scripting CPack
23 Basic variables Introduction Concepts Scripting CPack CMAKE_BUILD_TYPE (Debug Release) Determines type of compilation CMAKE_VERBOSE_MAKEFILE (ON OFF) If it is enabled the compilation show all the information CMAKE_MODULE_PATH Path to where CMake modules are located CMAKE_INSTALL_PREFIX Where to install targets (be careful with privileges)
24 Basic commands Introduction Concepts Scripting CPack Comments with # Project PROJECT( myproject ) Set and read variables SET(VARIABLE Ou yeah ) MESSAGE(STATUS VARIABLE : $ {VARIABLE } ) Conditional blocks IF (WIN32) MESSAGE(STATUS Doing s p e c i f i c windows s t u f f s ) ELIF ( LINUX ) MESSAGE(STATUS Doing s p e c i f i c l i n u x s t u f f s ) ELIF (APPLE) MESSAGE(STATUS Doing s p e c i f i c apple s t u f f s ) ELSE ( ) MESSAGE(FATAL_ERROR Unrecognized operative system ) ENDIF ( )
25 Basic commands Introduction Concepts Scripting CPack Messages MESSAGE( Important message ) MESSAGE(STATUS Incidental information ) MESSAGE(WARNING CMake warning, continue processing ) MESSAGE(SEND_ERROR CMake error, continue but skiping generation ) MESSAGE(FATAL_ERROR CMake error, stop a l l processing ) Subdirectories ADD_SUBDIRECTORY( src ) ADD_SUBDIRECTORY( t e s t s ) ADD_SUBDIRECTORY( u t i l s ) Modify variables In terminal mode : cmake -D VAR=XXX... In GUI mode
26 Concepts Scripting CPack Libraries and applications commands Compile & link commands ADD_DEFINITIONS( D _NDEBUG) INCLUDE_DIRECTORIES( $ {PROJECT_SOURCE_DIR } / src ) LINK_DIRECTORIES ( $ {PATH_TO_SOME_LIBRARIES } ) LINK_LIBRARIES ( $ {OpenCV_LIBS } TARGET_LINK_LIBRARIES ( mytarget $ { MyLIB } ) Target commands #The f o l l o w i n g commands depends on CMAKE_CXX_FLAGS, CMAKE_CXX_DEBUG_FLAGS, #CMAKE_CXX_RELEASE_FLAGS, etc. ADD_LIBRARY( mylib $ {SOURCES} ) # The l i b r a r y w i l l be shared or s t a t i c depending on BUILD_SHARED_LIBS v a r i a b l e ADD_EXECUTABLE(myApp $ {SOURCES} ) Verbose compiling make VERBOSE=1
27 Concepts Scripting CPack Libraries and applications commands Install commands # I n s t a l l headers f i l e s of the l i b r a r y INSTALL ( FILES $ {HEADERS} DESTINATION include / $ {PROJECT_NAME} / COMPONENT main ) # I n s t a l l l i b r a r y f i l e s of the l i b r a r y INSTALL (TARGETS $ {PROJECT_NAME} RUNTIME DESTINATION bin COMPONENT main # Dynamic l i b r a r y : DLLs LIBRARY DESTINATION l i b PERMISSIONS # Dynamic l i b r a r y : so OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT main ARCHIVE DESTINATION l i b / s t a t i c COMPONENT main ) # S t a t i c l i b r a r y # I n s t a l l a p p l i c a t i o n INSTALL (TARGETS myapp RUNTIME DESTINATION bin COMPONENT main ) #These commands generates i n s t a l l a t i o n r u l e s f o r a p r o j e c t. #DESTINATION is r e l a t i v e to CMAKE_INSTALL_PREFIX unless you specify a absolute path
28 Advanced commands Concepts Scripting CPack Find libraries # In / usr / share / cmake 2.8/Modules or C : \ ProgramFiles \ cmake \ Modules \ are the Find f i l e s FIND_PACKAGE( Qt REQUIRED QUIET COMPONENTS QtCore QtGui ) FIND_PACKAGE(OpenCV REQUIRED) FIND_PACKAGE( ZLIB REQUIRED) FIND_PACKAGE( GTest )... # To specify other places where to find Find f i l e s SET(CMAKE_MODULE_PATH $ {CMAKE_MODULE_PATH} $ {CMAKE_INSTALL_PREFIX } / l i b / cmake / )... LINK_LIBRARIES ( $ {OpenCV_LIBS } $ {QT_QTCORE_LIBRARY } ) TARGET_LINK_LIBRARIES (myapp $ {QT_LIBRARIES } ) # Variables defines in Find f i l e s... FIND_PACKAGE( PkgConfig REQUIRED) IF (PKG_CONFIG_FOUND) PKG_CHECK_MODULES(AVCODEC REQUIRED libavcodec >= ) ELSE ( ) MESSAGE(FATAL_ERROR " pkg c o n f i g command not found " ) ENDIF ( )... FIND_LIBRARY (ARGTABLE argtable2 PATHS $ {ARGTABLE_ROOT } / l i b )
29 Advanced commands Tunning compiling options SET(EXTRA_C_FLAGS " " ) SET(EXTRA_C_FLAGS_RELEASE " " ) SET(EXTRA_C_FLAGS_DEBUG " " ) SET(EXTRA_EXE_LINKER_FLAGS " " ) SET(EXTRA_EXE_LINKER_FLAGS_RELEASE " " ) SET(EXTRA_EXE_LINKER_FLAGS_DEBUG " " ) Concepts Scripting CPack IF (WARNINGS_ANSI_ISO) add_extra_compiler_option( ansi ) add_extra_compiler_option( Wcast a l i g n ) add_extra_compiler_option( W s t r i c t a l i a s i n g =2) ELSE ( ) add_extra_compiler_option( Wno narrowing ) add_extra_compiler_option( Wno delete non v i r t u a l dtor ) add_extra_compiler_option( Wno unnamed type template args ) ENDIF ( ) IF (WARNINGS_ARE_ERRORS) add_extra_compiler_option( Werror ) ENDIF ( ) SET(CMAKE_C_FLAGS " $ {CMAKE_C_FLAGS} $ {EXTRA_C_FLAGS } " ) SET(CMAKE_CXX_FLAGS " $ {CMAKE_CXX_FLAGS} $ {EXTRA_C_FLAGS } " ) SET(CMAKE_CXX_FLAGS_RELEASE " $ {CMAKE_CXX_FLAGS_RELEASE} $ {EXTRA_C_FLAGS_RELEASE } " ) SET(CMAKE_C_FLAGS_RELEASE " $ {CMAKE_C_FLAGS_RELEASE} $ {EXTRA_C_FLAGS_RELEASE } " ) SET(CMAKE_CXX_FLAGS_DEBUG " $ {CMAKE_CXX_FLAGS_DEBUG} $ {EXTRA_C_FLAGS_DEBUG } " ) SET(CMAKE_C_FLAGS_DEBUG " $ {CMAKE_C_FLAGS_DEBUG} $ {EXTRA_C_FLAGS_DEBUG } " )
30 Packaging the project Concepts Scripting CPack A packaging tool distributed with CMake. It can be used without CMake (file CPackConfig.cmake). To use it with CMake INCLUDE(CPack). Generators: TGZ TBZ2 TZ ZIP Nullsoft Installer (Windows only) DragNDrop (OSX only) DEB/RPM (Linux only)
31 CPack commands Introduction Concepts Scripting CPack IF (NOT CPACK_GENERATOR) IF ( UNIX ) SET(CPACK_GENERATOR "DEB" ) ENDIF ( ) ENDIF ( ) SET(CPACK_PACKAGE_CONTACT " piponazo@plagatux. es " ) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "My personal l i b r a r y " ) SET(CPACK_PACKAGE_VENDOR " Luis Diaz Mas " ) SET(CPACK_PACKAGE_VERSION_MAJOR $ {VERSION_MAJOR} ) SET(CPACK_PACKAGE_VERSION_MINOR $ {VERSION_MINOR } ) SET(CPACK_PACKAGE_VERSION_PATCH $ {VERSION_PATCH } ) SET(CPACK_SOURCE_GENERATOR "TBZ2 " ) SET(CPACK_SOURCE_PACKAGE_FILE_NAME $ {PROJECT_NAME} ) # Avoid mercurial f i l e s, builds and vim temporal f i l e s SET(CPACK_SOURCE_IGNORE_FILES " \ \ \ \. hg / ; / b u i l d. / ; \ \ \ \. swp$ " ) IF (CPACK_GENERATOR STREQUAL "DEB" ) SET(CPACK_DEBIAN_PACKAGE_MAINTAINER " piponazo@plagatux. es " ) SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) ENDIF ( ) INCLUDE( CPack )
32 Concepts Scripting CPack Big project example - OpenCV
33 Outline Introduction Qt libraries Cross-compiling 1 Introduction 2 Concepts Scripting CPack 3 Qt libraries Cross-compiling
34 Qt Overview Introduction Qt libraries Cross-compiling Figure: Image taken from
35 Qt commands Introduction Qt libraries Cross-compiling Finding Qt FIND_PACKAGE( Qt REQUIRED QUIET COMPONENTS QtCore QtGui QtNetwork ) Compiling libraries and applications INCLUDE( $ {QT_USE_FILE } ) IF (BUILD_SHARED_LIBS) ADD_DEFINITIONS( DQT_SHARED) ELSE ( ) ADD_DEFINITIONS( DQT_STATIC) ENDIF ( ) IF ( $ {CMAKE_BUILD_TYPE} STREQUAL " Release " ) ADD_DEFINITIONS( DQT_NO_DEBUG) ENDIF ( ) Compiling plug-ins #Not use INCLUDE( $ {QT_USE_FILE } ) INCLUDE_DIRECTORIES( $ {QT_INCLUDE_DIR} $ {QT_QTCORE_INCLUDE_DIR} $ {QT_QTGUI_INCLUDE_DIR } ) ADD_DEFINITIONS( DQT_PLUGIN DQT_SHARED DQT_DEBUG D_REENTRANT)
36 Qt commands Introduction Qt libraries Cross-compiling Generating MOCS SET(MOCS mainwindow. h connectiondialog. h ) QT4_WRAP_CPP(MOCS_GEN $ {HDRS_MOCS} ) Compiling UIs SET( UIS mainwindow. ui connectiondialog. u i ) QT4_WRAP_UI(UIS_GEN $ { UIS } ) Compiling resources QT4_ADD_RESOURCES(RSC f i l e. qrc ) Putting all together ADD_EXECUTABLE(myApp $ {SOURCES} $ {MOCS_GEN} $ {UIS_GEN} $ {RSC} )
37 Qt Example Introduction Qt libraries Cross-compiling
38 Cross-compiling Introduction Qt libraries Cross-compiling Independent files for each specific board/configuration Use CMAKE_TOOLCHAIN_FILE variable Example with Raspberri pi (toolchain-rpi.cmake) INCLUDE( CMakeForceCompiler ) SET(CMAKE_SYSTEM_NAME Linux ) # t h i s one is important SET(CMAKE_SYSTEM_VERSION 1) # t h i s one not so much SET(RPI_ROOT / home / l u i s / rpi toolchain / arm bcm2708 / arm bcm2708hardfp linux gnueabi ) SET(CMAKE_C_COMPILER $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi gcc ) SET(CMAKE_CXX_COMPILER $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi g++) set (CMAKE_AR $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi ar ) set (CMAKE_LINKER $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi ld ) set (CMAKE_NM $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi nm) set (CMAKE_OBJCOPY $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi objcopy ) set (CMAKE_OBJDUMP $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi objdump ) set (CMAKE_STRIP $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi s t r i p ) set (CMAKE_RANLIB $ {RPI_ROOT } / bin / arm bcm2708hardfp linux gnueabi t a n l i b ) SET(CMAKE_FIND_ROOT_PATH $ {RPI_ROOT } / arm bcm2708hardfp linux gnueabi ) SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
39 Example - hello world RPi Qt libraries Cross-compiling
CMake/CTest/CDash OSCON 2009
CMake/CTest/CDash OSCON 2009 Open Source Tools to build, test, and install software Bill Hoffman bill.hoffman@kitware.com Overview Introduce myself and Kitware Automated Testing About CMake Building with
More informationSupported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 9.6)
Supported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 9.6) Configuring the environment manually Using CMake CLHEP full version installation
More informationA Cross Platform Development Workflow for C/C++ Applications.
The Third International Conference on Software Engineering Advances A Cross Platform Development Workflow for C/C++ Applications. Martin Wojtczyk and Alois Knoll Department of Informatics Robotics and
More informationMastering CMake. Sixth Edition. Bill Martin & Hoffman. Ken. Andy Cedilnik, David Cole, Marcus Hanwell, Julien Jomier, Brad King, Robert Maynard,
Mastering CMake Sixth Edition Ken Bill Martin & Hoffman With contributions from: Andy Cedilnik, David Cole, Marcus Hanwell, Julien Jomier, Brad King, Robert Maynard, Alex Neundorf Published by Kitware
More informationCMPT 373 Software Development Methods. Building Software. Nick Sumner wsumner@sfu.ca Some materials from Shlomi Fish & Kitware
CMPT 373 Software Development Methods Building Software Nick Sumner wsumner@sfu.ca Some materials from Shlomi Fish & Kitware What does it mean to build software? How many of you know how to build software?
More information[PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14]
2013/14 Institut für Computergraphik, TU Braunschweig Pablo Bauszat [PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14] All elemental steps that will get you started for your new life as a computer science programmer.
More informationBuilding graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar
Building graphic-rich and better performing native applications Pro Android C++ with the NDK Onur Cinar For your convenience Apress has placed some of the front matter material after the index. Please
More informationCreating OpenGL applications that use GLUT
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Creating OpenGL applications that use GLUT Short guide to creating OpenGL applications in Windows and Mac OSX Contents Obtaining
More informationSIM900 Eclipse environment install Application Note_V1.00
SIM900 Eclipse environment install Application Note_V1.00 Document Title: Note Version: V1.00 Date: 2011-01-11 Status: Document Control ID: Edit SIM900_Eclipse_environment_install_Application_Note _V1.01
More informationMatrixSSL Getting Started
MatrixSSL Getting Started TABLE OF CONTENTS 1 OVERVIEW... 3 1.1 Who is this Document For?... 3 2 COMPILING AND TESTING MATRIXSSL... 4 2.1 POSIX Platforms using Makefiles... 4 2.1.1 Preparation... 4 2.1.2
More informationEddy Integrated Development Environment, LemonIDE for Embedded Software System Development
Introduction to -based solution for embedded software development Section 1 Eddy Real-Time, Lemonix Section 2 Eddy Integrated Development Environment, LemonIDE Section 3 Eddy Utility Programs Eddy Integrated
More informationChapter 1: Getting Started
Chapter 1: Getting Started Every journey begins with a single step, and in ours it's getting to the point where you can compile, link, run, and debug C++ programs. This depends on what operating system
More informationCreating a Java application using Perfect Developer and the Java Develo...
1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the
More informationDiscover the framework and make your first steps with it.
Computer assisted medical intervention toolkit Discover the framework and make your first steps with it. Nicolas SAUBAT Vincent LEAL 1/31 Simple plan: 1. General presentation of 2. Case studies: users,
More information[PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14]
2013/14 Institut für Computergraphik, TU Braunschweig Pablo Bauszat [PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14] All elemental steps that will get you started for your new life as a computer science programmer.
More informationA Tutorial on installing and using Eclipse
SEG-N-0017 (2011) A Tutorial on installing and using Eclipse LS Chin, C Greenough, DJ Worth July 2011 Abstract This SEGNote is part of the material use at the CCPPNet Software Engineering Workshop. Its
More informationNVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v6.5 August 2014 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About
More informationCode::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
More informationSoftware Development for Embedded GNU Radio Applications
Software Development for Embedded GNU Radio Applications Philip Balister philip@opensdr.com Open SDR May 28, 2015 1 Embedded SW Development 2 OpenEmbedded 3 Develop Software 4 Creating a Finished Product
More informationEnhanced Project Management for Embedded C/C++ Programming using Software Components
Enhanced Project Management for Embedded C/C++ Programming using Software Components Evgueni Driouk Principal Software Engineer MCU Development Tools 1 Outline Introduction Challenges of embedded software
More informationDocumentation Installation of the PDR code
Documentation Installation of the PDR code Franck Le Petit mardi 30 décembre 2008 Requirements Requirements depend on the way the code is run and on the version of the code. To install locally the Meudon
More informationGetting Started with Kinetis SDK (KSDK)
Freescale Semiconductor, Inc. Document Number: KSDKGSUG User s Guide Rev. 0, 12/2014 Getting Started with Kinetis SDK (KSDK) 1 Overview Kinetis SDK (KSDK) is a Software Development Kit that provides comprehensive
More informationDeveloping applications on Yocto. Lianhao Lu Intel Corporation Feb. 29th, 2012
Developing applications on Yocto Lianhao Lu Intel Corporation Feb. 29th, 2012 Agenda Embedded Linux Development The Yocto Project Offerings For Embedded Linux Development The Yocto Project Eclipse Plug-in
More informationCode::Block manual. for CS101x course. Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai - 400076.
Code::Block manual for CS101x course Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai - 400076. April 9, 2014 Contents 1 Introduction 1 1.1 Code::Blocks...........................................
More informationYocto Project ADT, Eclipse plug-in and Developer Tools
Yocto Project ADT, Eclipse plug-in and Developer Tools Jessica Zhang LinuxCon - Japan Tokyo 2013 Agenda The Application Development Toolkit Usage Flow And Roles Yocto Project Eclipse Plug-in Interacts
More informationSoftware Development Tools & Environments
Software Development Tools & Environments Software Development Tools & Environments A tool is a program or application that software developers use to create, debug, or maintain other programs and applications.
More informationMain Bullet #1 Main Bullet #2 Main Bullet #3
Main Bullet #1 Main Bullet #2 Main Bullet #3 : a bag of chips or all that? :A highlevelcrossplatformpowerfullyfunapplication andorsmallusefultooldevelopmentlanguage Why? Main Bullet #1 Main Bullet Vas
More informationPetaLinux SDK User Guide. Application Development Guide
PetaLinux SDK User Guide Application Development Guide Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.
More informationDE4 NetFPGA Packet Generator Design User Guide
DE4 NetFPGA Packet Generator Design User Guide Revision History Date Comment Author 01/30/2012 Initial draft Harikrishnan Contents 1. Introduction... 4 2. System Requirements... 4 3. Installing DE4 NetFPGA
More informationDevelopment_Setting. Step I: Create an Android Project
A step-by-step guide to setup developing and debugging environment in Eclipse for a Native Android Application. By Yu Lu (Referenced from two guides by MartinH) Jan, 2012 Development_Setting Step I: Create
More informationEclipse IDE for Embedded AVR Software Development
Eclipse IDE for Embedded AVR Software Development Helsinki University of Technology Jaakko Ala-Paavola February 17th, 2006 Version 0.2 Abstract This document describes how to set up Eclipse based Integrated
More informationCosmic Board for phycore AM335x System on Module and Carrier Board. Application Development User Manual
Cosmic Board for phycore AM335x System on Module and Carrier Board Application Development User Manual Product No: PCL-051/POB-002 SOM PCB No: 1397.0 CB PCB No: 1396.1 Edition: October,2013 In this manual
More informationCode Estimation Tools Directions for a Services Engagement
Code Estimation Tools Directions for a Services Engagement Summary Black Duck software provides two tools to calculate size, number, and category of files in a code base. This information is necessary
More informationProject Builder for Java. (Legacy)
Project Builder for Java (Legacy) Contents Introduction to Project Builder for Java 8 Organization of This Document 8 See Also 9 Application Development 10 The Tool Template 12 The Swing Application Template
More informationTEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING
TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING NVIDIA DEVELOPER TOOLS BUILD. DEBUG. PROFILE. C/C++ IDE INTEGRATION STANDALONE TOOLS HARDWARE SUPPORT CPU AND GPU DEBUGGING & PROFILING
More informationTNM093 Practical Data Visualization and Virtual Reality Laboratory Platform
October 6, 2015 1 Introduction The laboratory exercises in this course are to be conducted in an environment that might not be familiar to many of you. It is based on open source software. We use an open
More informationInstalling OpenVSP on Windows 7
ASDL, Georgia Institue of Technology August 2012 Table of Contents 1. Introduction... 1 2. Setting up Windows Line-Mode... 1 3. Preparation for OpenVSP... 2 3.1. Create an OpenVSP Folder... 2 3.2. Install
More informationUsing Intel C++ Compiler in Eclipse* for Embedded Linux* targets
Using Intel C++ Compiler in Eclipse* for Embedded Linux* targets Contents Introduction... 1 How to integrate Intel C++ compiler with Eclipse*... 1 Automatic Integration during Intel System Studio installation...
More informationEmbedded Linux development training 4 days session
Embedded Linux development training 4 days session Title Overview Duration Trainer Language Audience Prerequisites Embedded Linux development training Understanding the Linux kernel Building the Linux
More informationEasing embedded Linux software development for SBCs
Page 1 of 5 Printed from: http://www.embedded-computing.com/departments/eclipse/2006/11/ Easing embedded Linux software development for SBCs By Nathan Gustavson and Eric Rossi Most programmers today leaving
More informationHow To Develop Android On Your Computer Or Tablet Or Phone
AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The
More informationTIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation
TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation Software Release 6.0 November 2015 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS
More informationNVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v5.5 July 2013 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About
More informationIBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager
IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager Scenario You are a system administrator responsible for managing web application server installations.
More informationCMSC 427 Computer Graphics Programming Assignment 1: Introduction to OpenGL and C++ Due Date: 11:59 PM, Sept. 15, 2015
CMSC 427 Computer Graphics Programming Assignment 1: Introduction to OpenGL and C++ Due Date: 11:59 PM, Sept. 15, 2015 Project Submission: 1) Delete all intermediate files (run the command make clean)
More informationUnderstanding and using catkin (and bloom) May 12, 2013 Dirk Thomas, William Woodall ROSCon 2013
Understanding and using catkin (and bloom) May 12, 2013 Dirk Thomas, William Woodall ROSCon 2013 Workflow With catkin and bloom from source to (Debian) packages catkin - build system makes it more efficient
More informationEclipse.org CDT and Cygwin: A Tutorial on Installation and Functionality
Eclipse.org CDT and Cygwin: A Tutorial on Installation and Functionality Christopher T. S. Allen Department of Computer Science and Statistics University of Rhode Island - Undergraduate Abstract The purpose
More informationAndreas Burghart 6 October 2014 v1.0
Yocto Qt Application Development Andreas Burghart 6 October 2014 Contents 1.0 Introduction... 3 1.1 Qt for Embedded Linux... 3 1.2 Outline... 4 1.3 Assumptions... 5 1.4 Corrections... 5 1.5 Version...
More informationINTEGRAL OFF-LINE SCIENTIFIC ANALYSIS
I N T E G R A L C S E C N I T E R N E C E D A INTEGRAL OFF-LINE SCIENTIFIC ANALYSIS INSTALLATION GUIDE Issue 10.2 December 2015 INTEGRAL Science Data Centre Chemin d Ecogia 16 CH-1290 Versoix isdc.unige.ch
More informationXeon Phi Application Development on Windows OS
Chapter 12 Xeon Phi Application Development on Windows OS So far we have looked at application development on the Linux OS for the Xeon Phi coprocessor. This chapter looks at what types of support are
More informationOverview. Open source toolchains. Buildroot features. Development process
Overview Open source toolchains Buildroot features Development process 1 Tools in development process toolchain cross-compiler assembler & linker (filesystem) image generator boot loader / image writer
More informationOpenCV on Android Platforms
OpenCV on Android Platforms Marco Moltisanti Image Processing Lab http://iplab.dmi.unict.it moltisanti@dmi.unict.it http://www.dmi.unict.it/~moltisanti Outline Intro System setup Write and build an Android
More informationHow to use PDFlib products with PHP
How to use PDFlib products with PHP Last change: July 13, 2011 Latest PDFlib version covered in this document: 8.0.3 Latest version of this document available at: www.pdflib.com/developer/technical-documentation
More informationHow To Use Titanium Studio
Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 alessandro.grazioli81@gmail.com 2015 Parma Outline Introduction Installation and Configuration
More informationLab 0 (Setting up your Development Environment) Week 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationProgramming with the Dev C++ IDE
Programming with the Dev C++ IDE 1 Introduction to the IDE Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. As similar IDEs, it offers to the programmer
More informationThe Yocto Project Eclipse plug-in: An Effective IDE Environment for Embedded Application and System Developers
It s not an embedded Linux distribution It creates a custom one for you. The Yocto Project Eclipse plug-in: An Effective IDE Environment for Embedded Application and System Developers Jessica Zhang Intel
More informationBogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?
BogDan Vatra and Andy Gryc Qt on Android: Is it right for you? Coffee and Code sessions Free, three-hour, hands-on session that delves into the internals of Qt on Android. Learn how to: set up the Qt development
More informationAndroid: How To. Thanks. Aman Nijhawan
Android: How To. This is just a collection of useful information and tricks that I used during the time I was developing on the android ADP1. In some cases the information might be a little old and new
More informationKinetis Design Studio V3.0.0- User's Guide
Kinetis Design Studio V3.0.0- User's Guide Document Number: KDSUG Rev. 1.0, 04/2015 2 Freescale Semiconductor, Inc. Contents Section number Title Page Chapter 1 Introduction 1.1 System requirements...5
More informationHow To Install Storegrid Server On Linux On A Microsoft Ubuntu 7.5 (Amd64) Or Ubuntu (Amd86) (Amd77) (Orchestra) (For Ubuntu) (Permanent) (Powerpoint
StoreGrid Linux Server Installation Guide Before installing StoreGrid as Backup Server (or) Replication Server in your machine, you should install MySQL Server in your machine (or) in any other dedicated
More informationMySQL Connector/C++ Developer Guide
MySQL Connector/C++ Developer Guide Abstract This manual describes how to install and configure MySQL Connector/C++, the C++ interface for communicating with MySQL servers, and how to use it to develop
More informationeggon SDK for ios 7 Integration Instructions
eggon SDK for ios 7 Integration Instructions The eggon SDK requires a few simple steps in order to be used within your ios 7 application. Environment This guide assumes that a standard ios Development
More informationThe "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.
Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting
More informationDeveloping Embedded Linux Devices Using the Yocto Project
It s not an embedded Linux distribution It creates a custom one for you. Developing Embedded Linux Devices Using the Yocto Project David Stewart Intel Corporation October, 2011 Agenda What is the Yocto
More informationImprove Fortran Code Quality with Static Analysis
Improve Fortran Code Quality with Static Analysis This document is an introductory tutorial describing how to use static analysis on Fortran code to improve software quality, either by eliminating bugs
More informationApplication Note: AN00141 xcore-xa - Application Development
Application Note: AN00141 xcore-xa - Application Development This application note shows how to create a simple example which targets the XMOS xcore-xa device and demonstrates how to build and run this
More informationBuilding and Using a Cross Development Tool Chain
Building and Using a Cross Development Tool Chain Robert Schiele rschiele@uni-mannheim.de Abstract 1 Motivation 1.1 Unix Standard System Installations When building ready-to-run applications from source,
More informationDeveloping an Application for the i.mx Devices on the Linux Platform
Freescale Semiconductor Application Note Document Number: AN3870 Rev. 0, 08/2010 Developing an Application for the i.mx Devices on the Linux Platform by Multimedia Applications Division Freescale Semiconductor,
More informationDEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES by Çağatay YILDIRIM June, 2008 İZMİR CONTENTS Page PROJECT EXAMINATION RESULT FORM...ii ACKNOWLEDGEMENTS...iii ABSTRACT... iv
More informationGTk+ and GTkGLExt Build Process for Windows 32- bit
SUNY Geneseo June 15, 2010 GTk+ and GTkGLExt Build Process for Windows 32- bit Using Minimal GNU for Windows (MinGW) and Minimal System (MSYS) Author Advisor : Hieu Quang Tran : Professor Doug Baldwin
More informationXcode Project Management Guide. (Legacy)
Xcode Project Management Guide (Legacy) Contents Introduction 10 Organization of This Document 10 See Also 11 Part I: Project Organization 12 Overview of an Xcode Project 13 Components of an Xcode Project
More informationHow to use the Eclipse IDE for Java Application Development
How to use the Eclipse IDE for Java Application Development Java application development is supported by many different tools. One of the most powerful and helpful tool is the free Eclipse IDE (IDE = Integrated
More informationCMAKE AN INTRODUCTION
CMAKE AN INTRODUCTION Graduiertenkolleg EMS Robert Jakob GOAL Source Executable I don t You care GOAL interface description generated.h generated.cpp foo.h foo.cpp bar.cpp fb.cpp You care Executable internet.lib
More informationMobile Development with Qt
Mobile Development with Qt Developing for Symbian and Maemo Daniel Molkentin Nokia, Qt Development Frameworks 1 Yours Truly Developer and Promoter for the KDE Project since 2000 Author of The Book of Qt
More informationAtmel AVR4029: Atmel Software Framework User Guide. Atmel Microcontrollers. Application Note. Features. 1 Introduction
Atmel AVR4029: Atmel Software Framework User Guide Features Getting Started Access to ASF examples and applications Add ASF modules to a project Atmel Studio 6 IAR GNU makefile / GCC 1 Introduction Atmel
More informationZynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Authors: Simon George and Prushothaman Palanichamy
Application Note: Zynq-7000 All Programmable Soc XAPP1185 (v2.0) May 6, 2014 Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Authors: Simon George and Prushothaman Palanichamy Summary
More informationQ N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights
More informationIntegrating Mobile into Your Cross- Platform Strategy with Qt
Integrating Mobile into Your Cross- Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager tuukka.ahoniemi@theqtcompany.com Qt Developer Days 2014 Agenda Qt and Mobile Platforms
More informationfile://d:\webs\touch-base.com\htdocs\documentation\androidplatformnotes52.htm
Page 1 of 5 Deliverables Requirements Installation Uninstall Supported programs Limitations Contact Welcome to UPDD Android platform specific installation instructions and related notes for UPDD version
More informationMobile Labs Plugin for IBM Urban Code Deploy
Mobile Labs Plugin for IBM Urban Code Deploy Thank you for deciding to use the Mobile Labs plugin to IBM Urban Code Deploy. With the plugin, you will be able to automate the processes of installing or
More informationInstalling (1.8.7) 9/2/2009. 1 Installing jgrasp
1 Installing jgrasp Among all of the jgrasp Tutorials, this one is expected to be the least read. Most users will download the jgrasp self-install file for their system, doubleclick the file, follow the
More informationDeveloping, Deploying, and Debugging Applications on Windows Embedded Standard 7
Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7 Contents Overview... 1 The application... 2 Motivation... 2 Code and Environment... 2 Preparing the Windows Embedded Standard
More informationAPPLICATIONS OF LINUX-BASED QT-CUDA PARALLEL ARCHITECTURE
APPLICATIONS OF LINUX-BASED QT-CUDA PARALLEL ARCHITECTURE Tuyou Peng 1, Jun Peng 2 1 Electronics and information Technology Department Jiangmen Polytechnic, Jiangmen, Guangdong, China, typeng2001@yahoo.com
More informationDepartment of Veterans Affairs. Open Source Electronic Health Record (EHR) Services
Department of Veterans Affairs Open Source Electronic Health Record (EHR) Services Web Application Automated Testing Framework (WAATF) Software Design Document (SDD) Version 1.0 September 2013 Contract:
More informationProgramming Environment Setup
Embedded Imaging Experts since 1996 Programming Environment Setup Software Installation, Hardware Setup and Communication for VC Z Series Revision 1.0g *** PRELIMINARY *** 05 Oct 2015 Document name: Getting_Started_VC_Z_Series.pdf
More information1. Overview of Nios II Embedded Development
May 2011 NII52001-11.0.0 1. Overview o Nios II Embedded Development NII52001-11.0.0 The Nios II Sotware Developer s Handbook provides the basic inormation needed to develop embedded sotware or the Altera
More informationAltera SoC Embedded Design Suite User Guide
Altera SoC Embedded Design Suite User Guide Subscribe ug-1137 101 Innovation Drive San Jose, CA 95134 www.altera.com TOC-2 Contents Introduction to SoC Embedded Design Suite... 1-1 Overview... 1-1 Linux
More informationCross-Platform. Mac OS X ЧЯУ
Cross-Platform in C++ Mac OS X ЧЯУ Syd Logan Л А- зу Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid Cape Town Sydney Tokyo Singapore Mexico
More informationAnar Manafov, GSI Darmstadt. GSI Palaver, 2010-03-09
Anar Manafov, GSI Darmstadt HEP Data Analysis Implement algorithm Run over data set Make improvements Typical HEP analysis needs a continuous algorithm refinement cycle 2 PROOF Storage File Catalog Query
More information10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition
10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can
More informationTutorial on OpenCV for Android Setup
Tutorial on OpenCV for Android Setup EE368/CS232 Digital Image Processing, Spring 2015 Macintosh Version For personal Android devices (advised: Android 3.0 or higher) Introduction In this tutorial, we
More informationERIKA Enterprise pre-built Virtual Machine
ERIKA Enterprise pre-built Virtual Machine with support for Arduino, STM32, and others Version: 1.0 July 2, 2014 About Evidence S.r.l. Evidence is a company operating in the field of software for embedded
More informationEmbedded Software Development
Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) TDDI11, Embedded Software 2010-04-22 Embedded Software Development Host and Target Machine Typical embedded
More informationGIVE WINGS TO YOUR IDEAS TOOLS MANUAL
GIVE WINGS TO YOUR IDEAS TOOLS MANUAL PLUG IN TO THE WIRELESS WORLD Version: 001 / 1.0 Date: October 30, 2001 Reference: WM_TOO_OAT_UGD_001 confidential Page: 1 / 22 (THIS PAGE IS INTENTIONALY LEFT BLANK)
More informationSite Configuration SETUP GUIDE. Windows Hosts Single Workstation Installation. May08. May 08
Site Configuration SETUP GUIDE Windows Hosts Single Workstation Installation May08 May 08 Copyright 2008 Wind River Systems, Inc. All rights reserved. No part of this publication may be reproduced or transmitted
More informationAuthoring for System Center 2012 Operations Manager
Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack
More informationAT91 ARM Thumb Microcontrollers. Application Note. GNU-Based Software Development on AT91SAM Microcontrollers. 1. Introduction. 2.
GNU-Based Software Development on AT91SAM Microcontrollers 1. Introduction Most development solutions used today in the ARM world are commercial packages, such as IAR EWARM or ARM RealView. Indeed, they
More informationInstalling C++ compiler for CSc212 Data Structures
for CSc212 Data Structures WKhoo@gc.cuny.edu Spring 2010 1 2 Testing Mac 3 Why are we not using Visual Studio, an Integrated Development (IDE)? Here s several reasons: Visual Studio is good for LARGE project.
More information