Creator: "run" not finding shared library
-
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. -
Creator adds command line arguments to the qmake call (release/debug, mkspec and some defines for the QML debuger); for the actual build process it just calls "make -w" (you may add some additional arguments to make manually). The environment variables are just your regular environment when left in standard settings.
-
[quote author="Volker" date="1300196895"]Creator adds command line arguments to the qmake call (release/debug, mkspec and some defines for the QML debuger); for the actual build process it just calls "make -w" (you may add some additional arguments to make manually). The environment variables are just your regular environment when left in standard settings.[/quote]
Yes, that is correct, but it does mean that the same .pro file may result in different result when used unsuspectingly to build from the command line or from creator. I have actually encountered this. What's more, I even have some code that builds just fine if I build from the command line, but triggers a compiler exception if I start the build from Qt Creator. Beats me why, never been able to find out the cause.
-
[quote author="Andre" date="1300197353"]
Yes, that is correct, but it does mean that the same .pro file may result in different result when used unsuspectingly to build from the command line or from creator. I have actually encountered this. What's more, I even have some code that builds just fine if I build from the command line, but triggers a compiler exception if I start the build from Qt Creator. Beats me why, never been able to find out the cause.[/quote]
Wow... I never came across this. Very weird....
-
[quote author="tbrowder" date="1300200176"]Andre and Volker, that may be similar to the problem I reported: the output from Creator is chopping the compiler command options and causing a make error, which could reflect a compiler exception since it is an unknown command to g++.[/quote]
Can you create a small sample project to demonstrate the effect?
Also, what's the command line which Creator calls on qmake? You can see it in the output tab of Creator.