第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

構(gòu)建簡單 cgo 模塊的問題

構(gòu)建簡單 cgo 模塊的問題

Go
慕尼黑8549860 2022-10-10 20:04:21
Ubuntu。vscode 1.62.1。去1.17.3。vscode 去擴(kuò)展 v0.29.0。鉆研 v1.7.1。我正在嘗試使用 vscode 和 vscode-go 構(gòu)建一個使用 Cgo 的小應(yīng)用程序。只有一個模塊導(dǎo)入“C”。我的項目結(jié)構(gòu)的根目錄包含“go.mod”和“main.go”文件,并且子文件夾中有子包。我還有包含 C 工件的“include”和“l(fā)ib”目錄。這是我目前在 C 模塊中的內(nèi)容:package voltage// #cgo CFLAGS: -g -Wall -Iinclude// #cgo LDFLAGS: -Llib/linux -lvibesimple -lcurl -lssl -lvibecrypto -lvibeictk -lvibeserver// #include <stdio.h>// #include <errno.h>// #include "veapi.h"import "C"func Encrypt(datatype string, data string) (result string) {    return}func Decrypt(datatype string, data string) (result string) {    return}在“問題”視圖中,它顯示了以下兩個問題:go list 未能返回 CompiledGoFiles。這可能表示無法執(zhí)行 cgo 處理;嘗試在命令行構(gòu)建。請參閱https://golang.org/issue/38990。和:無法導(dǎo)入 C(cgo 預(yù)處理失敗)(編譯)我閱讀了引用的問題,但我不確定如何處理這些信息。我不知道如何在這里前進(jìn)。
查看完整描述

1 回答

?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗 獲得超10個贊

C 編譯器不在源目錄中執(zhí)行,而是在僅包含中間文件的臨時目錄中執(zhí)行,例如編譯為靜態(tài)庫 (.a) 的 go 文件。因此,LDFLAG-Llib/linux指向一個不存在的目錄。

要解決此問題,只需將該標(biāo)志替換為-L${SRCDIR}/lib/linux.

直接來自 cgo 文檔:

解析 cgo 指令時,任何出現(xiàn)的字符串 ${SRCDIR} 都將替換為包含源文件的目錄的絕對路徑。這允許將預(yù)編譯的靜態(tài)庫包含在包目錄中并正確鏈接。

cgo 工具將始終使用包含路徑中的源文件目錄調(diào)用 C 編譯器;即 -I${SRCDIR} 總是隱含的。


查看完整回答
反對 回復(fù) 2022-10-10
  • 1 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號