

[rinko14/AlphaPose-1](https://github.com/rinko14/AlphaPose-1) で `python
setup.py build develop`
を実行したところ，以下のようなエラーが出ました．VisualStuidoは2017です．[clone元:MVIG-
SJTU/AlphaPose](https://github.com/MVIG-SJTU/AlphaPose)
の内容は変更していないので私の環境に問題があると思うのですが，VScode内のファイルをいじればよいのか，VisualStudioの設定を変更すればよいのか見当がつきません．どなたかわかる方がいらっしゃれば，ご指摘をお願いします．  
[実行環境]  
windows10  
python3.7  
cuda-toolkit 10.0

[code]

    C:\Users\rinko14\Anaconda3\envs\venv04_tracker\lib\site-packages\torch\utils\cpp_extension.py:184: UserWarning: Error checking compiler version for cl: [WinError 2] 指定されたファイルが見つかりません。
      warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error))
    building 'detector.nms.soft_nms_cpu' extension
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\rinko14\Anaconda3\envs\venv04_tracker\lib\site-packages\numpy\core\include -IC:\Users\rinko14\Anaconda3\envs\venv04_tracker\include -IC:\Users\rinko14\Anaconda3\envs\venv04_tracker\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpdetector\nms\src/soft_nms_cpu.cpp /Fobuild\temp.win-amd64-3.7\Release\detector\nms\src/soft_nms_cpu.obj -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=soft_nms_cpu -D_GLIBCXX_USE_CXX11_ABI=0 /MD
    soft_nms_cpu.cpp
    c:\users\rinko14\anaconda3\envs\venv04_tracker\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
    detector\nms\src/soft_nms_cpu.cpp(1466): warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防 
    ぐために、ファイルを Unicode 形式で保存してください。
    detector\nms\src/soft_nms_cpu.cpp(1765): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていま 
    せん
    detector\nms\src/soft_nms_cpu.cpp(1765): error C2146: 構文エラー: ';' が、識別子 'declarations' の前に必要です。
    detector\nms\src/soft_nms_cpu.cpp(1765): error C2015: 定数の文字数が多すぎます。
    detector\nms\src/soft_nms_cpu.cpp(3125): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
    ます。                                                                                                                           。
    detector\nms\src/soft_nms_cpu.cpp(3134): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
    ます。                                                                                                                           。
    detector\nms\src/soft_nms_cpu.cpp(3153): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
    ます。                                                                                                                           4\\cl.exe' faile
    detector\nms\src/soft_nms_cpu.cpp(3172): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります
    ます。
    detector\nms\src/soft_nms_cpu.cpp(3215): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります
    ます。
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x6\\x64\\cl.exe' failed with exit status 2
    
[/code]


CC BY-SA 4.0
2021-11-01T02:18:42.567
83362
2023-09-01T16:04:30.507
2021-11-01T03:28:55.130
48894
48894
question
python c++
VIsualStudio CodeでPythonモジュールのビルド時にC++のコンパイルができません．


>
[code]

>     detector\nms\src/soft_nms_cpu.cpp(1466): warning C4819: ファイルは、現在のコード ページ
> (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
>  
[/code]

と警告が出ています。しかし、[該当行](https://github.com/rinko14/AlphaPose-1/blob/b0d8fa4b925f01135fc349d09610a8360c029b33/detector/nms/src/soft_nms_cpu.cpp#L1466)や、そもそもこのファイルには非ASCII文字は含まれていませんでした。  
何か編集を行っているのでしょうか？

ともあれこの件が原因でソースコードを正しく解釈できていません。

>
[code]

>     detector\nms\src/soft_nms_cpu.cpp(1765): error C4430: 型指定子がありません - int
> と仮定しました。メモ: C++ は int を既定値としてサポートしていま せん
>     detector\nms\src/soft_nms_cpu.cpp(1765): error C2146: 構文エラー: ';' が、識別子
> 'declarations' の前に必要です。
>  
[/code]

エラーメッセージから推測すると、ここで指摘されている[該当行](https://github.com/rinko14/AlphaPose-1/blob/b0d8fa4b925f01135fc349d09610a8360c029b33/detector/nms/src/soft_nms_cpu.cpp#L1765)は

[code]

    /* Module declarations from 'detector.nms.soft_nms_cpu' */
    
[/code]

ですがコメント開始`/*`が正しく認識されておらず、コンパイラーからは

[code]

    Module declarations ...
    
[/code]

が突然出現し、`Module`が何なのか判断できていません。古いC言語には型指定を省略する機能があるためそれを適用して

[code]

    int Module declarations ...
    
[/code]

と解釈して続行しています。しかし`Module`を変数とした場合、後続の`declarations`が更に解釈できず`;`が必要と指摘しています。

そんな動きをしていますが、質問者さんが参照しているコードとGitHubにあるコードが一致しておらず第三者には何が起こっているかわからない状況なような気がします。


CC BY-SA 4.0
2021-11-01T03:51:34.787
83366
2021-11-01T03:51:34.787
4236
83362
answer