cgo

    11熱度

    2回答

    我正在嘗試爲Go語言編寫一些C語言綁定,並且在Windows中設置Cgo編譯時遇到了一些棘手的情況。我有一些代碼如下所示: // #cgo windows CFLAGS: -I C:/dev/extlibs/include/ // #cgo windows LDFLAGS: -lMyLib -L C:/dev/extlibs/lib/ // #include <mylib/mylib.h>

    5熱度

    1回答

    需要關於鏈接objective-c的幫助。 以下Objective-C代碼與golang 1.1beta一起工作,但現在它不能與最新的go 1.1版本一起使用。 /* #cgo CFLAGS: -x objective-c #cgo LDFLAGS: -framework Cocoa #import <Cocoa/Cocoa.h> void log(void) { NSLog

    3熱度

    1回答

    之間共享C.int我有: var foo C.int foo = 3 t := fastergo.Ctuner_new() fastergo.Ctuner_register_parameter(t, &foo, 0, 100, 1) 在fastergo包 我有: func Ctuner_register_parameter(tuner unsafe.Pointer, parameter

    1熱度

    1回答

    最近我花了一些時間在cgo上以及如何編寫C代碼。使用#cgo指令加載.so文件似乎很容易。但是,有什麼方法可以以相反的方式做到這一點?也就是說,我們可以構建一個go包到.so或.a文件,以便它可以直接被c/C++項目使用嗎?

    2熱度

    1回答

    下面是一個簡單的例子: package main //#include <stdio.h> //#include <strings.h> //#include <stdlib.h> /* typedef struct { unsigned char *data; unsigned int data_len; } Result; Result *foo() {

    12熱度

    1回答

    我想包裝一個C函數,它需要一個指向非空字節緩衝區(的第一個元素)的char*。我試圖用CGo將它包裝在一個Go函數中,以便我可以將它傳遞給[]byte,但我不知道如何執行轉換。 C函數的簽名的簡化版本是 void foo(char const *buf, size_t n); 我想傳遞一個指向第一個byte切片與 C.foo(&b[0], C.size_t(n)) 無法編譯,但: cann

    11熱度

    1回答

    我想從Go程序中使用OpenGL。我認爲我有所有的部分,但我仍然不能很好地運行。 我的C編譯器是64-bit version of mingw.它在我的%PATH%變量中,我已驗證它在cgo文檔中的隨機數示例中。 我安裝了64位GLEW 1.9.0,通過將bin,lib和include文件夾複製到我的mingw-w64安裝中的\mingw\x86_64-w64-mingw32等效文件中。 當我嘗試

    1熱度

    1回答

    對於10.9,在Go中編譯C程序包似乎中斷了。當試圖建立一個包,10.8跑,氏族輸出 clang: error: argument unused during compilation: '-fno-eliminate-unused-debug-types' 當我嘗試解決這個問題了加入以下 #cgo CFLAGS: -Qunused-arguments 圍棋與 could not deter

    1熱度

    1回答

    我試圖構建一個使用TagLib的Go包,並且我在確定如何使用cgo編譯的庫時遇到了一些問題。 我已經編譯了TagLib,它已經在taglib dir中吐出了tag.dll,tag.exp和tag.lib。綁定目錄中還有taglib_c.*二進制文件,但我假設我只是忽略這些文件。 如何使用編譯的庫與Go一起使用?我在OS X上的項目的源代碼中安裝了所有東西,但是我需要做什麼才能使其在Windows上

    1熱度

    1回答

    我正在編寫一個調用C代碼的Go包。我需要調用主機連接,但不幸的是加入-hostobj標誌給了我以下錯誤: gcc: error: unrecognized option ‘-h’ 操作系統是Linux,AMD64架構。 這裏是所有的標誌: // #cgo CFLAGS: -I. -fPIC // #cgo LDFLAGS: -lstdc++ -w -hostobj -L. libsometh