質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

2回答

2061閲覧

Go言語のソースコードについて

gurann_Live

総合スコア7

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2018/02/20 15:25

編集2018/02/21 02:49

前提・実現したいこと

GoでJoyconをポインタデバイスにしてみた
こちらのサイトでJoy-Conをポインタデバイスとして使おうとしています

発生している問題・エラーメッセージ

CreateFile main.go: The system cannot find the file specified.

該当のソースコード

Go

1 2import ( 3 "fmt" 4 "log" 5 6 "github.com/nobonobo/joycon" 7) 8 9func main() { 10 devices, err := joycon.Search() 11 if err != nil { 12 log.Fatalln(err) 13 } 14 if len(devices) == 0 { 15 log.Fatalln("joycon not found") 16 } 17 jc, err := joycon.NewJoycon(devices[0].Path) 18 if err != nil { 19 log.Fatalln(err) 20 } 21 s := <-jc.State() 22 fmt.Printf("%#v\n", s.Buttons) // Button bits 23 fmt.Printf("%#v\n", s.LeftAdj) // Left Analog Stick State 24 fmt.Printf("%#v\n", s.RightAdj) // Right Analog Stick State 25 a := <-jc.Sensor() 26 fmt.Printf("%#v\n", a.Accel) // Acceleration Sensor State 27 fmt.Printf("%#v\n", a.Gyro) // Gyro Sensor State 28 29 jc.Close() 30}

試したこと

ソースコードが古いためかわかりませんが実行ができないのでGo言語をひたすら勉強して書き換えたりしていましたがどうしても動作しないのでどこを書き換えれば動作するのでしょうか?
チュートリアルのhello.goは動作しているのでGo言語はちゃんとダウンロードできています。
〔わからないところ〕
if len(devices)
jc

[追記]
cmdでgo run main.goと打ち実行しました、
チュートリアルではgo run hello.goと打ちちゃんと「ハロー」と出てきています。

補足情報(FW/ツールのバージョンなど)

go version go1.9.4 windows/amd64

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukkeorg

2018/02/20 16:27

どのようにビルドもしくは実行しようとしていたか、入力したコマンドを追記してください。
guest

回答2

0

作者です。色々実験中でもうしばらくバタバタと変更が入る可能性があります。
現状で整理して一旦masterを固定しておきます。
動作確認はまだmacOSのみでしかしておりません。

Windowsの場合は https://github.com/flynn/hid#known-quirks-for-building-on-windows-64-bit こちらを参考にしてください。

投稿2018/02/21 10:08

編集2018/02/21 10:09
nobonobo

総合スコア3367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gurann_Live

2018/02/21 14:25

まさか作者様から回答が来るとは…わざわざありがとうございます、参考にさせていただきます。
guest

0

ベストアンサー

go getしましたか?

githubからうまく取ってこれたとして引数の変更により、
jc, err := joycon.NewJoycon(devices[0].Path, false)
jc, err := joycon.NewJoycon(devices[0].Path, true)
とする必要がありました。

投稿2018/02/21 09:35

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gurann_Live

2018/02/21 14:21

go getはエラーなしでダウンロードできている状態でソースコードをその通りに書き換えましたがCreateFile main.go: The system cannot find the file specified.と表示されてしまいました。
mkgrei

2018/02/22 03:30

windowsではsubsystem内でしか実行しないのでわからないのですが、 同じコードを使っているのであれば、logのせいかもしれません。 他に特にCreateFileが必要な場所が見当たらないので。 今のコードからlog部分を削除したり、実行できたHelloWorldにlogを付け加えたりして検証してみてはいかがでしょう。
gurann_Live

2018/02/22 08:54

すみません、ディレクトリ移動させた場所が違うのが原因でした。 jc, err := joycon.NewJoycon(devices[0].Path, true) と書き換えたあと実行しなおすと The process cannot access the file because it is being used by another process. exit status 1 と表示されました、プロセスに原因があるみたいなので探ってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問