在我的项目中,我使用带符号gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux
的跨工具链arm-linux-gnueabihf-
;它编译正确,但给Linker错误。
虽然Linux GCC
汇编了同一个项目;没有这种类型的错误,生成了平滑的二进制文件。
Building target: PM100_IEC61850_FW
Invoking: Cross GCC Linker
arm-linux-gnueabihf-gcc -o "PM100_IEC61850_FW" ./Util/BlockFifo.o ./Util/ByteBuffer.o ./Util/ChecksummedFile.o ./Util/CircularBuffer.o ./Util/CwiDateTime.o ./Util/FileMap.o ./Util/PactDateTime.o ./Util/Stream.o ./Util/TimeInterval.o ./Util/Util.o ./Util/crc.o ./TMW-61850-Vendor/scl_main/MMSConfigData.o ./TMW-61850-Vendor/scl_main/MMSDataAccess.o ./TMW-61850-Vendor/scl_main/MMSDataParam.o ./TMW-61850-Vendor/scl_main/MMSLocalData.o ./TMW-61850-Vendor/scl_main/MMSMakeMap.o ./TMW-61850-Vendor/scl_main/MMSObjTable.o ./TMW-61850-Vendor/scl_main/MMSTestSource\ .o ./TMW-61850-Vendor/scl_main/MMS_Main.o ./TMW-61850-Shared/xml/file_root.o ./TMW-61850-Shared/xml/filesys.o ./TMW-61850-Shared/xml/xml.o ./TMW-61850-Shared/tase2/tase2api.o ./TMW-61850-Shared/tase2/tase2hand.o ./TMW-61850-Shared/tase2/vendhand.o ./TMW-61850-Shared/tam_task/tam_task.o ./TMW-61850-Shared/tam_task/waittask.o ./TMW-61850-Shared/tam/linux_se.o ./TMW-61850-Shared/tam/tam.o ./TMW-61850-Shared/tam/tam_con.o ./TMW-61850-Shared/tam/tam_tp.o ./TMW-61850-Shared/tam/timefunc.o ./TMW-61850-Shared/tam/uca_time.o ./TMW-61850-Shared/stack/stack.o ./TMW-61850-Shared/simulate/controls_sim.o ./TMW-61850-Shared/rtg/rtg.o ./TMW-61850-Shared/rfc1006/cfg1006.o ./TMW-61850-Shared/rfc1006/rfc1006.o ./TMW-61850-Shared/mmsd/casm.o ./TMW-61850-Shared/mmsd/cbuff.o ./TMW-61850-Shared/mmsd/dlsm.o ./TMW-61850-Shared/mmsd/emitfetc.o ./TMW-61850-Shared/mmsd/error.o ./TMW-61850-Shared/mmsd/evalfunc.o ./TMW-61850-Shared/mmsd/files.o ./TMW-61850-Shared/mmsd/ioroutin.o ./TMW-61850-Shared/mmsd/jour_if.o ./TMW-61850-Shared/mmsd/mmsdecod.o ./TMW-61850-Shared/mmsd/mmstypes.o ./TMW-61850-Shared/mmsd/search.o ./TMW-61850-Shared/mmsd/service.o ./TMW-61850-Shared/mmsd/utility.o ./TMW-61850-Shared/make7/cscl_lex.o ./TMW-61850-Shared/make7/cscl_tab.o ./TMW-61850-Shared/make7/d2t_tab.o ./TMW-61850-Shared/make7/gom_dir.o ./TMW-61850-Shared/make7/prs_tab.o ./TMW-61850-Shared/make7/t2d_lex.o ./TMW-61850-Shared/make7/t2d_tab.o ./TMW-61850-Shared/make7/tase2_objs.o ./TMW-61850-Shared/make7/yys_tab.o ./TMW-61850-Shared/dt/data_cfg.o ./TMW-61850-Shared/dt/dt_io.o ./TMW-61850-Shared/dt/dt_list.o ./TMW-61850-Shared/dt/lexyy.o ./TMW-61850-Shared/cscl/scl_ext.o ./TMW-61850-Shared/cscl/scl_rtg.o ./Storage/ReaderFile.o ./Storage/TimestampedRecordFile.o ./RulesHandler/Action.o ./RulesHandler/LevelEntryRule.o ./RulesHandler/LevelExitRule.o ./RulesHandler/LogEventAction.o ./RulesHandler/MultiPhaseRule.o ./RulesHandler/MultiPhaseState.o ./RulesHandler/QuantityLogAction.o ./RulesHandler/Rule.o ./RulesHandler/RulesCollection.o ./RulesHandler/SingleQuantityRule.o ./RulesHandler/StateRuleFactory.o ./RulesHandler/TestAction.o ./RevenueEvents/CTMissEvent.o ./RevenueEvents/CTOpenEvent.o ./RevenueEvents/CTReversalEvent.o ./RevenueEvents/CTShortEvent.o ./RevenueEvents/CurrentUnbalanceEvent.o ./RevenueEvents/EventConfiguration.o ./RevenueEvents/EventDetector.o ./RevenueEvents/FeederSupplyFailEvent.o ./RevenueEvents/InvalidPhaseAssociationEvent.o ./RevenueEvents/InvalidVoltageEvent.o ./RevenueEvents/MagnetInterferanceEvent.o ./RevenueEvents/NeutralDisturbanceEvent.o ./RevenueEvents/OverVoltageEvent.o ./RevenueEvents/PTMissEvent.o ./RevenueEvents/PowerSupplyOffEvent.o ./RevenueEvents/RevenueEventCollection.o ./RevenueEvents/RevenueEventLog.o ./RevenueEvents/UnderVoltageEvent.o ./RevenueEvents/VoltageUnbalanceEvent.o ./ModbusClient/ModbusClient.o ./ModbusClient/SerialUART.o ./Modbus/ModbusCoilCollection.o ./Modbus/ModbusCommLog.o ./Modbus/ModbusDevice.o ./Modbus/ModbusMaster.o ./Modbus/ModbusPDU.o ./Modbus/ModbusRTUADU.o ./Modbus/ModbusRTUTransport.o ./Modbus/ModbusRegisterCollection.o ./Modbus/ModbusSerialCounters.o ./Modbus/ModbusSlave.o ./Modbus/ModbusTCPADU.o ./Modbus/ModbusTCPTransport.o ./Logging/CaptureLog.o ./Logging/EnergyBuffer.o ./Logging/EventLog.o ./Logging/Log.o ./Logging/LogManager.o ./Logging/QuantityLog.o ./Logging/QuantityLogCollection.o ./Logging/SampleLog.o ./Logging/TimebasedLog.o ./Logging/TimebasedLogCollection.o ./Logging/ValueCollection.o ./HAL/Debug.o ./HAL/LinuxCommPortDriver.o ./HAL/LinuxCriticalSection.o ./HAL/LinuxDisplayDevice.o ./HAL/LinuxETHDevice.o ./HAL/LinuxEvent.o ./HAL/LinuxFileStorage.o ./HAL/LinuxFileStorageRAM.o ./HAL/LinuxLocalServer.o ./HAL/LinuxMailBox.o ./HAL/LinuxMessageQueue.o ./HAL/LinuxNetServer.o ./HAL/LinuxProgramInfo.o ./HAL/LinuxRTCDevice.o ./HAL/LinuxTask.o ./HAL/LinuxTimer.o ./HAL/cwi_malloc.o ./Expat/xmlparse.o ./Expat/xmlrole.o ./Expat/xmltok.o ./Expat/xmltok_impl.o ./Expat/xmltok_ns.o ./EnergyMetering/EnergyHandler.o ./EnergyMetering/HistoryCollection.o ./EnergyMetering/MDRegisters.o ./EnergyMetering/RateRegisters.o ./EnergyMetering/TariffApplication.o ./EnergyMetering/TariffStructure.o ./DataCollector/Aggregator.o ./DataCollector/DataCache.o ./DataCollector/DataCollector.o ./DataCollector/MeterNodeCommunicator.o ./DataCollector/PersistedCircBuf.o ./DataCollector/SampleBuffer.o ./DataCollector/SampleSet.o ./DLMS/AES.o ./DLMS/Association.o ./DLMS/COSEM.o ./DLMS/COSEMUtils.o ./DLMS/DLMSInstr.o ./DLMS/DLMSServer.o ./DLMS/DLMSSysVars.o ./DLMS/EEPROM.o ./DLMS/HDLC.o ./DLMS/OBIS.o ./DLMS/UtilsByteOps.o ./ConfigController/ConfigController.o ./ConfigController/ConfigData.o ./ConfigController/Flextend.o ./CalculatedValues/Accumulator.o ./CalculatedValues/AccumulatorCollection.o ./CalculatedValues/DeadbandValue.o ./CalculatedValues/DeadbandValueCollection.o ./CalculatedValues/FlickerStatistics.o ./CalculatedValues/FlickerStatisticsCollection.o ./ApplicationEngine/ApplicationEngine.o ./ApplicationEngine/Display.o ./ApplicationEngine/LocalProcessDataprovider.o ./ApplicationEngine/MeterFacade.o ./ApplicationEngine/ModbusSlaveClient.o ./ApplicationEngine/QuantDefCollection.o ./ApplicationEngine/QuantityDefinition.o ./ApplicationEngine/Settings.o ./ApplicationEngine/WebServerComms.o ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.o ./AppNodeLinux.o ./GccInlines.o ./main.o -lpthread -lrt -lm
./TMW-61850-Vendor/scl_main/MMSConfigData.o: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
make: *** [PM100_IEC61850_FW] Error 1
提前致谢。
编辑:自动生成所有makefile - 作为主要项目makefile -
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
-include ../makefile.init
RM := rm -rf
# All of the sources participating in the build are defined here
-include sources.mk
-include Util/subdir.mk
-include TMW-61850-Vendor/scl_main/subdir.mk
-include TMW-61850-Shared/xml/subdir.mk
-include TMW-61850-Shared/tase2/subdir.mk
-include TMW-61850-Shared/tam_task/subdir.mk
-include TMW-61850-Shared/tam/subdir.mk
-include TMW-61850-Shared/stack/subdir.mk
-include TMW-61850-Shared/simulate/subdir.mk
-include TMW-61850-Shared/rtg/subdir.mk
-include TMW-61850-Shared/rfc1006/subdir.mk
-include TMW-61850-Shared/mmsd/subdir.mk
-include TMW-61850-Shared/make7/subdir.mk
-include TMW-61850-Shared/dt/subdir.mk
-include TMW-61850-Shared/cscl/subdir.mk
-include Storage/subdir.mk
-include RulesHandler/subdir.mk
-include RevenueEvents/subdir.mk
-include ModbusClient/subdir.mk
-include Modbus/subdir.mk
-include Logging/subdir.mk
-include HAL/subdir.mk
-include Expat/subdir.mk
-include EnergyMetering/subdir.mk
-include DataCollector/subdir.mk
-include DLMS/subdir.mk
-include ConfigController/subdir.mk
-include CalculatedValues/subdir.mk
-include ApplicationEngine/subdir.mk
-include .metadata/.plugins/org.eclipse.cdt.make.core/subdir.mk
-include subdir.mk
-include objects.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
-include ../makefile.defs
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: PM100_IEC61850_FW
# Tool invocations
PM100_IEC61850_FW: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: Cross GCC Linker'
arm-linux-gnueabihf-gcc -o "PM100_IEC61850_FW" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
# Other Targets
clean:
-$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) PM100_IEC61850_FW
-@echo ' '
.PHONY: all clean dependents
.SECONDARY:
-include ../makefile.targets
链接 - http://txs.io/IA4b - 其他文件