I'm trying to call C++ in Go.
sparkle_windows.h:
#ifndef GO_WINSPARKLE_H
#define GO_WINSPARKLE_H
#ifdef __cplusplus
#include <QResource>
#include "winsparkle.h"
extern "C" {
#endif
void initWinSparkle()
{
win_sparkle_set_dsa_pub_pem(reinterpret_cast<const char *>(QResource(":/WinSparkle/dsa_pub.pem").data()));
win_sparkle_init();
}
#ifdef __cplusplus
}
#endif
#endif
main_windows.go:
package main
/*
#cgo CPPFLAGS: -I ${SRCDIR}/WinSparkle/include
#cgo LDFLAGS: -L${SRCDIR}/WinSparkle/Release -lWinSparkle -lsparkle_windows -lstdc++
#include "sparkle_windows.h"
*/
import "C"
func main() {
C.initWinSparkle()
}
and the error:
In file included from .\main_windows.go:10:0:
./sparkle_windows.h: In function 'initWinSparkle':
./sparkle_windows.h:15:30: error: 'reinterpret_cast' undeclared (first use in this function)
win_sparkle_set_dsa_pub_pem(reinterpret_cast<const char *>(QResource(":/WinSparkle/dsa_pub.pem").data()));