Pure C言語でyoloを動かしてみたいと思い、ちょっと苦戦しましたができたので、メモとして残します。
まぁ、Windows&C言語でDarknet-yoloをやりたいって人がどれだけいるか分かりませんが・・・
MinGW編
MinGWとは、ザックリ言えば「Windows版gcc」のこと。
「WindowsでもLinuxと同じようにC言語やC++をコンパイルできるもの」って思ってください。
MinGWのインストール手順
近いうちMinGWのインストール手順は書いてみます。
とりあえずMinGW自体のインストール手順はいっぱいありますが、その中で(個人的に)一番分かりやすかった以下のURLを参照してください。
MinGWでpthreadを使えるようにする
上記のURLに従ってMinGWをインストールしたことを前提に記します。
- [Windowsキー]を押して、スタートメニュを開き「mingw」と入力して、
- 以下の手順を実行
1. 以下のタブを順番にクリック
「All Package」 → 「MinGW」 → 「MinGW Libraries」 → 「MinGW Standard Libraries」
2. 「MinGW Standard Libraries」にある、以下2つのチェックボックスを選択して、
「Mark for Installation」を実行
- チェックを入れたら「Installation」→「Apply Changes」を順番でクリックし、出てきたダイアログの「Apply」を実行
- 念のため適当なCプログラムを作成し、
#include <pthread.h>を記述してコンパイルが正常にできるか確認
test.c
# include <pthread.h>
int main(void) {
return 0;
}
PS > gcc test.c
PS > # エラーが出なければOK
MinGW編 終わり
Darknet編
Darknetのダウンロード
gitコマンドを使えるようにしておいてください。
- pjreddie/darknet より、以下のコマンドでソースコードをダウンロード
PS > git clone https://github.com/pjreddie/darknet.git
WindowsまたはLinux向けのDarknetもあるっぽいですが、今回はノンタッチ。
https://github.com/AlexeyAB/darknet
MinGWでDarknetコンパイル
- ダウンロードした
darknet -> examples -> go.cに、#include <winsock2.h>を追加
-
darknet -> Makefileを以下のように編集。
| No. | やること | 図 |
|---|---|---|
| 1. |
LDFLAGS に -lws2_32 を追加 |
![]() |
| 2. |
mkdirのオプション-pを削除obj、backup、resultsの3か所 |
![]() |
- 最後に
darknetフォルダ下でmingw32-make.exeコマンド(Linuxではmake)を実行。
PS > cd darknet
PS darknet> mingw32-make.exe
色々Warningが出るけど、大丈夫っぽい。
Darknet編 終わり






