Errors linking in static libraries
I am trying to link some libraries into my project; however, I get a bunch of undefined or undeclared methods. From looking around online I am inclined to believe that it is a C/C++ issue. I have the library source so I created a new project and recompiled it, but I still get the same errors. How do I determine if CrossStudio for ARM is compiling the code in C or C++? My project that I am linking into is C++, and the source code for the library is supposed to be C++, but I would assume that there are some c files as well. Is there a way to instruct CrossStudio to compile the library in C++ instead of C.
The build log is listed below:
Building “WaterController” in configuration “THUMB Debug” 'THUMB Debug/Main.o' is up to date 'THUMB Debug/Valve.o' is up to date 'THUMB Debug/thumb_crt0.o' is up to date 'THUMB Debug/LPC4300_ctl_board.o' is up to date 'THUMB Debug/LPC4300_ctl.o' is up to date 'THUMB Debug/LPC4300_Startup.o' is up to date THUMB Debug/WaterController.elf does not exist. Linking WaterController.elf "C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.2/gcc/arm-unknown-eabi/bin/ld" -X -ereset_handler --omagic --fatal-warnings -EL --gc-sections "-TC:/Users/Bun/Documents/CrossWorks Projects/WaterController/THUMB Debug/WaterController.ld" -Map "THUMB Debug/WaterController.map" -u_vectors -o "THUMB Debug/WaterController.elf" --start-group "THUMB Debug/Main.o" "THUMB Debug/Valve.o" "THUMB Debug/thumb_crt0.o" "THUMB Debug/LPC4300_ctl_board.o" "THUMB Debug/LPC4300_ctl.o" "THUMB Debug/LPC4300_Startup.o" ../Libraries/Cortex-m4/libqep.a ../Libraries/Cortex-m4/libqf.a --end-group THUMB Debug/Valve.o: In function `~QActive': C:\\Users\\Bun\\qp\\qcpp\\include/qf.h:158: undefined reference to `operator delete(void*)' C:\\Users\\Bun\\qp\\qcpp\\include/qf.h:158: undefined reference to `operator delete(void*)' THUMB Debug/Valve.o: In function `~Valve': C:/Users/Bun/Documents/CrossWorks Projects/WaterController/Source/QM_Generated/Valve.cpp:20: undefined reference to `operator delete(void*)' C:/Users/Bun/Documents/CrossWorks Projects/WaterController/Source/QM_Generated/Valve.cpp:20: undefined reference to `operator delete(void*)' THUMB Debug/Valve.o: In function `__static_initialization_and_destruction_0': C:/Users/Bun/Documents/CrossWorks Projects/WaterController/Source/QM_Generated/Valve.cpp:42: undefined reference to `__dso_handle' C:/Users/Bun/Documents/CrossWorks Projects/WaterController/Source/QM_Generated/Valve.cpp:42: undefined reference to `__dso_handle' C:/Users/Bun/Documents/CrossWorks Projects/WaterController/Source/QM_Generated/Valve.cpp:42: undefined reference to `__aeabi_atexit' ../Libraries/Cortex-m4/libqep.a(qhsm_ini.o): In function `~QHsm': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qep/source/qhsm_ini.cpp:48: undefined reference to `operator delete(void*)' ../Libraries/Cortex-m4/libqep.a(qhsm_ini.o): In function `QP::QHsm::init(QP::QEvt const*)': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qep/source/qhsm_ini.cpp:53: undefined reference to `Q_onAssert' C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qep/source/qhsm_ini.cpp:57: undefined reference to `Q_onAssert' C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qep/source/qhsm_ini.cpp:79: undefined reference to `Q_onAssert' ../Libraries/Cortex-m4/libqf.a(qf_pool.o): In function `QP::QF::poolInit(void*, unsigned long, unsigned long)': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qf_pool.cpp:56: undefined reference to `Q_onAssert' C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qf_pool.cpp:58: undefined reference to `Q_onAssert' ../Libraries/Cortex-m4/libqf.a(qmp_init.o):C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qmp_init.cpp:53: more undefined references to `Q_onAssert' follow ../Libraries/Cortex-m4/libqf.a(qvanilla.o): In function `QP::QF::run()': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qvanilla.cpp:71: undefined reference to `QP::QF::onStartup()' C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qvanilla.cpp:86: undefined reference to `QP::QF::onIdle()' ../Libraries/Cortex-m4/libqf.a(qvanilla.o): In function `QP::QActive::start(unsigned char, QP::QEvt const**, unsigned long, void*, unsigned long, QP::QEvt const*)': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qvanilla.cpp:98: undefined reference to `Q_onAssert' ../Libraries/Cortex-m4/libqf.a(qa_get_.o): In function `QP::QActive::get_()': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qa_get_.cpp:54: undefined reference to `Q_onAssert' ../Libraries/Cortex-m4/libqf.a(qf_act.o): In function `QP::QF::add_(QP::QActive*)': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qf_act.cpp:69: undefined reference to `Q_onAssert' ../Libraries/Cortex-m4/libqf.a(qf_gc.o): In function `QP::QF::gc(QP::QEvt const*)': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qf_gc.cpp:76: undefined reference to `Q_onAssert' ../Libraries/Cortex-m4/libqf.a(qmp_put.o): In function `QP::QMPool::put(void*)': C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qmp_put.cpp:57: undefined reference to `Q_onAssert' ../Libraries/Cortex-m4/libqf.a(qmp_put.o):C:/Users/Bun/Documents/CrossWorks Projects/Libraries/Cortex-m4/../../../../qp/qcpp/qf/source/qmp_put.cpp:58: more undefined references to `Q_onAssert' follow Build failed
Please sign in to leave a comment.
Comments
0 comments