# Copyright (C) 2006 International Business Machines and others.
# All Rights Reserved.
# This file is distributed under the Common Public License.
# $Id: Makefile.in 726 2006-04-17 04:16:00Z andreasw $
##########################################################################
# You can modify this example makefile to fit for your own program. #
# Usually, you only need to change the five CHANGEME entries below. #
##########################################################################
# To compile other examples, either changed the following line, or
# add the argument DRIVER=problem_name to make
DRIVER = driver
# CHANGEME: This should be the name of your executable
EXE = $(DRIVER)
# CHANGEME: Here is the name of all object files corresponding to the source
# code that you wrote in order to define the problem statement
OBJS = $(DRIVER).o
# CHANGEME: Additional libraries
ADDLIBS =
# CHANGEME: Additional flags for compilation (e.g., include flags)
ADDINCFLAGS =
# CHANGEME: Directory to the sources for the (example) problem definition
# files
SRCDIR = .
##########################################################################
# Usually, you don't have to change anything below. Note that if you #
# change certain compiler options, you might have to recompile the #
# COIN package. #
##########################################################################
# C++ Compiler command
CXX = g++
# C++ Compiler options
CXXFLAGS = -O3 -fomit-frame-pointer -pipe -DNDEBUG -pedantic-errors -Wimplicit -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas
# additional C++ Compiler options for linking
CXXLINKFLAGS = -Wl,--rpath -Wl,/home/michi/coin-Clp/lib
# C Compiler command
CC = gcc
# C Compiler options
CFLAGS = -O3 -fomit-frame-pointer -pipe -DNDEBUG -pedantic-errors -Wimplicit -Wparentheses -Wsequence-point -Wreturn-type -Wcast-qual -Wall -Wno-unknown-pragmas
# Directory with COIN header files
COININCDIR = /home/michi/coin-Clp/include/coin
# Directory with COIN libraries
COINLIBDIR = /home/michi/coin-Clp/lib
# Libraries necessary to link with Clp
LIBS = -L$(COINLIBDIR) -lClp -lCoinUtils \
-lm `cat /home/michi/coin-Clp/lib/../share/doc/coin/CoinUtils/coinutils_addlibs.txt`
# Necessary Include dirs (we use the CYGPATH_W variables to allow
# compilation with Windows compilers)
INCL = -I`$(CYGPATH_W) $(COININCDIR)` $(ADDINCFLAGS)
# The following is necessary under cygwin, if native compilers are used
CYGPATH_W = echo
# Here we list all possible generated objects or executables to delete them
CLEANFILES = \
addBits.o addBits \
addColumns.o addColumns \
addRows.o addRows \
decompose.o decompose \
defaults.o defaults \
driver2.o driver2 \
driver.o driver \
driverC.o driverC \
dualCuts.o dualCuts \
ekk.o ekk \
ekk_interface.o ekk_interface \
hello.o hello \
makeDual.o makeDual \
minimum.o minimum \
network.o network \
piece.o piece \
rowColumn.o rowColumn \
sprint2.o sprint2 \
sprint.o sprint \
testBarrier.o testBarrier \
testBasis.o testBasis \
testGub2.o testGub2 \
testGub.o testGub \
testQP.o testQP \
useVolume.o useVolume
all: $(EXE)
.SUFFIXES: .cpp .c .o .obj
$(EXE): $(OBJS)
bla=;\
for file in $(OBJS); do bla="$$bla `$(CYGPATH_W) $$file`"; done; \
$(CXX) $(CXXLINKFLAGS) $(CXXFLAGS) -o $@ $$bla $(ADDLIBS) $(LIBS)
clean:
rm -rf $(CLEANFILES)
.cpp.o:
$(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$<
.cpp.obj:
$(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(SRCDIR)/$<'; fi`
.c.o:
$(CC) $(CFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$<
.c.obj:
$(CC) $(CFLAGS) $(INCL) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(SRCDIR)/$<'; fi`
The other one is using qt:
1 2 3 4 5
INCLUDE = -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4
LIB = -L/usr/lib -lQtGui -lQtCore
test: test.cpp imageIO.cpp
g++ -o test test.cpp imageIO.cpp $(INCLUDE) $(LIB)
I tried it like this using the makefile from Coin-CLP:
# Copyright (C) 2006 International Business Machines and others.
# All Rights Reserved.
# This file is distributed under the Common Public License.
# $Id: Makefile.in 726 2006-04-17 04:16:00Z andreasw $
##########################################################################
# You can modify this example makefile to fit for your own program. #
# Usually, you only need to change the five CHANGEME entries below. #
##########################################################################
# To compile other examples, either changed the following line, or
# add the argument DRIVER=problem_name to make
DRIVER = test
# CHANGEME: This should be the name of your executable
EXE = $(DRIVER)
# CHANGEME: Here is the name of all object files corresponding to the source
# code that you wrote in order to define the problem statement
OBJS = $(DRIVER).o
# CHANGEME: Additional libraries
ADDLIBS = -L/usr/lib -lQtGui -lQtCore
# CHANGEME: Additional flags for compilation (e.g., include flags)
ADDINCFLAGS = -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4
# CHANGEME: Directory to the sources for the (example) problem definition
# files
SRCDIR = /home/michi/Desktop/C++/test_all.
[CODE MISSING !!!! ... but the rest i didnt change]
I have a good feeling about the "ADDLIBS" and "ADDINCFLAGS", but I have no idea how to tell him about using "imageIO.h" "imageIO.cpp" - I tried with "SRCDIR", but it doesn't work - he doesn't find functions that are declared in imageIO.h,imageIO.cpp.