Creator: "run" not finding shared library
-
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.