Próbowałem przejechać skompilować kod CGO Linux/ramienia na moim darwin/amd64 MBP z Go 1.3, ale zakończył się bez powodzenia :(Troubles krzyż kompilacji z CGO włączona za pomocą przejść 1.3 na Mac OS X
moim otoczeniu :
go version go1.3 darwin/amd64
Mój cel:
Krzyż kompilacji kodu CGO kierowania linux/ramię
Krok 1:.
Budowanie kompilatora gcc/g ++ z ct-ng. To była długa droga do zbudowania arm-unknown-linux-gnueabi-g++
i arm-unknown-linux-gnueabi-gcc
, ale w końcu udało mi się. Testowałem z prostymi programami C/C++, a wyjścia działały dobrze na moim pudełku R-Pi Linux-a.
Etap 2:
cd/ścieżka/do/GO/Src
sudo CGO_ENABLED = 1 CC_FOR_TARGET =/ścieżka/do/ramię wiadomo, Linux, gnueabi-GCC CXX_FOR_TARGET =/ścieżka/to/arm-unknown-linux-gnueabi-g ++ GOOS = linux GOARCH = ramię ./make.bash
Wszystko w porządku.
Krok 3:
Kompilacja następujący prosty kod CGO:
package main
/*
#include <stdio.h>
#include <stdlib.h>
*/
import "C"
import (
"unsafe"
)
func main() {
str := C.CString("abc\n")
C.printf(str)
C.free(unsafe.Pointer(str))
}
Na moim komputerze host:
go install package/of/test
Failed z
arm-unknown-linux-gnueabi-gcc: error: unrecognized command line option '-m64'
dla Linux/Ramiona:
GOOS=linux GOARCH=arm go install package/of/test
nie powiodło się
runtime.main: wywołanie Funkcja zewnętrznego main.main runtime.main:
zdefiniowana: main.main
Każdy pomysł? Dzięki.
To może pomóc http://stackoverflow.com/questions/16188228/arm-compiler-with-autoconf –