main.c
Code:
#include "ServerModbus.h"
void* ThreadEntrada(void *arg);
void* ThreadSaida(void *arg);
int main(int lArgc, char *pcArgv[])
{
SocketModbusStart();
ServerModbus.h
Code:
#ifndef SERVERMODBUS_H_
#define SERVERMODBUS_H_
#include "ModbusOptions.h"
int SocketModbusStart();
#endif /* SERVERMODBUS_H_ */
ServerModbus.c
Code:
#ifndef SERVERMODBUS_H_
#define SERVERMODBUS_H_
#include "ModbusOptions.h"
int SocketModbusStart();
#endif /* SERVERMODBUS_H_ */
ModbusOptions.h
Code:
#ifndef MODBUSOPTIONS_H_
#define MODBUSOPTIONS_H_
/* Constants defined by configure.ac */
#define HAVE_INTTYPES_H @HAVE_INTTYPES_H@
#define HAVE_STDINT_H @HAVE_STDINT_H@
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# ifndef _MSC_VER
# include <stdint.h>
# else
# include "stdint.h"
# endif
#endif
#define SERVER_ID 17
#define INVALID_SERVER_ID 18
const uint16_t UT_BITS_ADDRESS = 0x130;
const uint16_t UT_BITS_NB = 0x25;
const uint8_t UT_BITS_TAB[] = { 0xCD, 0x6B, 0xB2, 0x0E, 0x1B };
const uint16_t UT_INPUT_BITS_ADDRESS = 0x1C4;
const uint16_t UT_INPUT_BITS_NB = 0x16;
const uint8_t UT_INPUT_BITS_TAB[] = { 0xAC, 0xDB, 0x35 };
Error Output
Code:
15:18:19 **** Incremental Build of configuration Debug for project AngstromGPIO ****
make all
Building file: ../src/ServerModbus.c
Invoking: Cross GCC Compiler
arm-angstrom-linux-gcc -O0 -g3 -Wall -c -fmessage-length=0 -mfloat-abi=hard -mfpu=neon --sysroot=/usr/local/oecore-x86_64/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi -pthread -lpthread -MMD -MP -MF"src/ServerModbus.d" -MT"src/ServerModbus.o" -o "src/ServerModbus.o" "../src/ServerModbus.c"
Finished building: ../src/ServerModbus.c
Building target: AngstromGPIO
Invoking: Cross GCC Linker
arm-angstrom-linux-gcc -mfloat-abi=hard -mfpu=neon --sysroot=/usr/local/oecore-x86_64/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi -pthread -lpthread -lmodbus -o "AngstromGPIO" ./src/AngstromGPIO.o ./src/ServerModbus.o ./src/apiSysClass.o
/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/libexec/arm-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/6.2.1/real-ld: error: ./src/ServerModbus.o: multiple definition of 'UT_BITS_ADDRESS'
/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/libexec/arm-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/6.2.1/real-ld: ./src/AngstromGPIO.o: previous definition here