Creator: "run" not finding shared library
-
I created a new GUI project, and then deleted the files generated (except the .pro file) and started hand modifying the pro file with entries from my working, manual GUI project. I copied all source and header files into the project directory. In the pro file I defined headers and sources like this:
SOURCES += *.cpp
HEADERS += *.h
-
You cannot add the source files with wildcards, you must list them individually.
You can create a template project file with
@
cd YourProjectDir
qmake -project
@This leaves a .pro in the directory. Go to Creator and open this file. The project will be imported. You can modify the .pro file later on, Creator will catch up the changes.
-
Pro file follows:
@
######################################################################Automatically generated by qmake (2.01a) Mon Mar 14 19:04:49 2011
######################################################################
TEMPLATE = app
QT += network opengl sql svg webkit xml xmlpatterns testlib dbus
TARGET = valuecommon
TEMPLATE = libDEFINES += LIBVALUECOMMON_LIBRARY
DEPENDPATH += .
INCLUDEPATH += .unix:QMAKE_CXXFLAGS *= -include $(VALUE_HOME)/MSRS_config.h
use local choice of compiler, libraries, etc.
include($(VALUE_HOME)/msrs_features_creator.include)
Input
HEADERS += ajemDataHolder.h
base_t.h
blast.h
cadType.h
caseControl.h
caseSet.h
closedFormAlgorithm.h
compartment.h
compat.h
component.h
connector.h
constants.h
convert.h
counter.h
cylinder.h
damageMethod.h
damageMethodLibrary.h
designator.h
direntWin32.h
ellipsoid.h
energyTransfer.h
era_group.h
executionLogOptions.h
expatParser.h
external_blast.h
externalSuspension.h
extrusion.h
facet.h
faltNode.h
fastgen_comp.h
fastgen_filter.h
fCone.h
fDonut.h
fireStart.h
fixedDamageValue.h
fluidSystem.h
fragGroup.h
fragment.h
fragmentClosedForm.h
fragZone.h
fRec.h
fShape.h
fString.h
grid.h
gridprops.h
holeSize.h
indent_ns.h
influenceRegion.h
intersection.h
kernelBase.h
leaker.h
LokiExport.h
matrix33.h
mDebug.h
mEvent.h
munitionEventGrid.h
munitionEventMap.hSOURCES += ajemDataHolder.cpp
base_t.cpp
blast.cpp
caseControl.cpp
caseSet.cpp
closedFormAlgorithm.cpp
compartment.cpp
component.cpp
component_gl.cpp
connector.cpp
connector_gl.cpp
convert.cpp
cylinder.cpp
cylinder_gl.cpp
damageMethodLibrary.cpp
designator.cpp
direntWin32.cpp
ellipsoid.cpp
ellipsoid_gl.cpp
energyTransfer.cpp
era_group.cpp
executionLogOptions.cpp
expatParser.cpp
external_blast.cpp
externalSuspension.cpp
extrusion.cpp
facet.cpp
faltNode.cpp
fastgen_comp.cpp
fastgen_filter.cpp
fCone.cpp
fDonut.cpp
fireStart.cpp
fixedDamageValue.cpp
fluidSystem.cpp
fragGroup.cpp
fragment.cpp
fragmentClosedForm.cpp
fragZone.cpp
fRec.cpp
fShape.cpp
fShape_gl.cpp
fString.cpp
grid.cpp
holeSize.cpp
influenceRegion.cpp
intersection.cpp
kernelBase.cpp
leaker.cpp
matrix33.cpp
mDebug.cpp
mEvent.cpp
MSRS_config.cpp
munitionEventGrid.cpp
munitionEventMap.cpp
@ -
Include file follows:
@
For adding "global" features to pro files.
Use new C++ standard?? not now (Ubuntu Qt causes problems)
#unix:QMAKE_CXXFLAGS += -std=c++0x
add Boost and other libs as needed:
unix::LIBS += -lboost_regex-mt
unix::LIBS += -lexpat
unix::LIBS += -ldlcomment this out for shared (normal) compiling and linking)
#CONFIG += profile
profile {
static building and linking
CONFIG += staticlib
enable profiling with gprof (will also need static compile)
unix:QMAKE_CXXFLAGS_DEBUG += -pg
unix:QMAKE_LFLAGS_DEBUG += -pg
}
else {dynamic building and linking
CONFIG += -export-dynamic
unix:QMAKE_CXXFLAGS += -export-dynamic
}Choose specific compiler versions for Linux
unix:QMAKE_CC = $(MYGCC)
unix:QMAKE_CXX = $(MYGXX)
unix:QMAKE_LINK = $(MYGXX)
unix:QMAKE_LINK_C = $(MYGCC)
unix:QMAKE_LINK_C_SHLIB = $(MYGCC)
unix:QMAKE_LINK_SHLIB = $(MYGXX)special directories for auto-generated files
#OBJECTS_DIR = obj-autogen
#UI_DIR = ui-autogen
#MOC_DIR = moc-autogen
#RCC_DIR = qrc-autogenfor debugging and testing
#unix:QMAKE_CXXFLAGS += -Werror
unix:QMAKE_CXXFLAGS += -Wall
unix:QMAKE_CXXFLAGS += -Wextra
#unix:QMAKE_CXXFLAGS += -fno-inline # for valgrind memcheckeliminate openNURBS warnings
unix:QMAKE_CXXFLAGS += -Wno-ignored-qualifiers
eliminate warnings of unused variables
unix:QMAKE_CXXFLAGS += -Wno-unused
temp define to eliminate stuff for the g2xml conversion
unix:DEFINES += SELECT_ALL_REGIONS
hack to tell version of BRL-CAD
DEFINES += MY_BRLCAD_VERSION=$(MY_BRLCAD_VERSION)
for materials aliases improvement later
#DEFINES += USE_TR1_SHARED_PTR
#DEFINES += NON_GUI_DEBUG
DEFINES += USE_VALUEFILE_H # trying to eliminate valueFile.h
#DEFINES += TAPE1CONV_DEBUG
#DEFINES += FALT_DEBUG # see faltNode.cpp and friends
#DEFINES += REPGEN_DEBUG # also checks base_t xnodeCreate
#DEFINES += GUI_DEBUG # see gui/appWindow.cpp
#DEFINES += RAYPATH_DEBUG # see target.cpp for use#DEFINES += XNODE_DEBUG # see xNode.cpp (and ./non-gui/main.cpp)
#DEFINES += XNODE_IMPROVEMENT_STEP_ONE
#DEFINES += UNWIND_XNODE_STACK#DEFINES += ERA_DEBUG # see tgm.cpp, threatType.cpp, pdamShapedCharge.cpp, and others
#DEFINES += FACESET_DEBUG # see xmlTgm.cpp and others#DEFINES += FSHAPE_DEBUG # see fShape.cpp and others
#DEFINES += VALUE_DEBUG_COMP_ATTRS # used in xmlTgm.cpp, primarily for ERA regions
#DEFINES += AROD_DEBUG
#DEFINES += DDEBUG # a nan check
#DEFINES += EFP_DEBUG
#DEFINES += PDAM_SC_DEBUG # shaped charge check
#DEFINES += HE_DEBUG
#DEFINES += SC_DEBUG
#DEFINES += FRAG_DEBUG # frags (actually, not anything!) not getting kills
#DEFINES += RF_DEBUG
#DEFINES += RF_DEBUG_LEVEL2
#DEFINES += TGM_DEBUG
#DEFINES += VALUE_DEBUG # use for new/delete tracking#DEFINES += USE_OLD_RAYPATH_ALGORITHM # see rayPath.cpp for use
#DEFINES += LIBTGM_DEBUG # use for reference counting
MANTECHLIB = -lmantech -lxqdbm -lxmlwrapp -ltokyocabinet -lz
@ -
[quote author="Gerolf" date="1300192313"]headers and sources with multipĆ¼le line must end with , right?
@
SOURCES += ajemDataHolder.cpp
base_t.cpp
blast.cpp
caseControl.cpp
caseSet.cpp
closedFormAlgorithm.cpp
compartment.cpp
component.cpp
@
[/quote]Yes, they do.
-
[quote author="Volker" date="1300195458"]Creator just calls qmake and make and does not fiddle around in the project files and does not construct compiler command lines itself.
[/quote]
But Creator does fiddle around with command line arguments and environment variables. Those too can influence your endresult!
[quote]
If you .pro works on the command line, it works in Creator too.[/quote]
So the above is not entirely true.