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.