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
@ -
The sources and headers list were shortened to meet 6000 char limit.
-
I would try to leave out ALL the additional stuff. Then re-add this stuff one by one (line by line) and see where and when it bails out.
-
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 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.
-
Okay, I will work on it line by line. Thanks.
-
some additional issues:
i know of
- XXX += y
- XXX -= y
but not of
- unix:QMAKE_CXXFLAGS *= -include $(VALUE_HOME)/MSRS_config.h
-
*= is valid, Gerolf. It will add to the variable only if the added value is not already contained. I use it all the time. It is especially handy if you use .pri files that might get included more than once.
-
Note that my previous use of
SOURCES += *.cpp
HEADERS += *.hseemed to work. I have also used:
SOURCES += $$system(ls $$(VALUE_HOME)/libvalutil/src/*.cpp
and similar lines successfully on one of my original, non-Creator projects.
-Tom
-
Creator just calls qmake and make and does not fiddle around in the project files and does not construct compiler command lines itself.
If you .pro works on the command line, it works in Creator too.
-
[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....
-
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++.
-
Make sure there's no hidden white space after the \ though.
-
[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.
20/27