I am doing some protocol stack programming with golang. I put codec thing in C. And build C with a simple CMake configuration as below:
cmake_minimum_required (VERSION 2.8) project (Demo1) aux_source_directory(. DIR_SRCS) add_library(codecLib SHARED ${DIR_SRCS}) and Link the shared library with this kind code
//#cgo CFLAGS:-I./codec/ //#cgo LDFLAGS: ./codec/build -lcodecLib //#include <protocol.h> import "C" import "fmt" at last, I met following error while building it with command "CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build",
In file included from /usr/include/stdlib.h:42:0, from _cgo_export.c:2: /usr/include/x86_64-linux-gnu/bits/waitstatus.h:79:15: error: duplicate member ‘__w_retcode’ unsigned int __w_retcode:8; ^ /usr/include/x86_64-linux-gnu/bits/waitstatus.h:80:15: error: duplicate member ‘__w_coredump’ unsigned int __w_coredump:1; ^ /usr/include/x86_64-linux-gnu/bits/waitstatus.h:81:15: error: duplicate member ‘__w_termsig’ unsigned int __w_termsig:7; ^ /usr/include/x86_64-linux-gnu/bits/waitstatus.h:93:15: error: duplicate member ‘__w_stopsig’ unsigned int __w_stopsig:8; /* Stopping signal. */ ^ /usr/include/x86_64-linux-gnu/bits/waitstatus.h:94:15: error: duplicate member ‘__w_stopval’ unsigned int __w_stopval:8; /* W_STOPPED if stopped. */ I didn't find the solution yet. I appreciate for the solution.