2017-12-01 27 views
-1

windowsでcmakeを使用してライブラリ(libiec61850)をビルドしようとしました。私はcmakeをインストールし、cmakeをインストールしたディレクトリで "path"環境を設定しました。次に、 私はライブラリのディレクトリに "build"というサブフォルダを作成しました 2コマンドラインでサブフォルダディレクトリをコピーし、 cmake -G "Visual Studio 14 2015"と入力して、次のような多くのエラーが発生しました。 - ラ世代Adémarré - echec・デ・ラ・ を構築 - Cmakeoutput.log: "システムがあります。Windows - 6.1.7601 - AMD64"windowsでcmakeを使用してライブラリを構築する方法

は、添付ファイルを参照してください。

貴重なお手伝いをしてください。 error_cmake_windows

+0

Stack Overflowに[MSBuildコマンドの実行に失敗しました]というエラーメッセージ([https://stackoverflow.com/search?q=%22Failed+to+run+MSBuild+command%22])があります。それらを確認してください。 – Tsyvarev

答えて

0

私はライブラリを調べて自分で試してみたところ、うまくいきました。

私は通常、Visual StudiosプログラムをコンパイルするためにNMakeを使用します。同じものを使用する場合は、使用する前にMSVC環境が適切に設定されていることを確認する必要があります。私は通常、最初にそのようCMDでvcvarsall.batを実行します。

D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat 

あなたvcvarsall.batファイルがあるところはどこでもあなたのVisual Studioで2015件のフォルダを同じことを行うことができます(私は、Visual Studio 2017を使用し、それがで正常に動作する必要がありますVisual Studio 2015も同様です)。

次に、これらは、私が使用するコマンドおよびそれぞれの出力した:

D:\Users\patrick\src\vs2017>cd libiec61850 

D:\Users\patrick\src\vs2017\libiec61850>mkdir build 

D:\Users\patrick\src\vs2017\libiec61850>cd build 

D:\Users\patrick\src\vs2017\libiec61850\build>cmake .. -G "NMake Makefiles" 
-- The C compiler identification is MSVC 19.11.25547.0 
-- The CXX compiler identification is MSVC 19.11.25547.0 
-- Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503 
/bin/Hostx64/x64/cl.exe 
-- Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503 
/bin/Hostx64/x64/cl.exe -- works 
-- Detecting C compiler ABI info 
-- Detecting C compiler ABI info - done 
-- Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.255 
03/bin/Hostx64/x64/cl.exe 
-- Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.255 
03/bin/Hostx64/x64/cl.exe -- works 
-- Detecting CXX compiler ABI info 
-- Detecting CXX compiler ABI info - done 
-- Detecting CXX compile features 
-- Detecting CXX compile features - done 
-- Looking for clock_gettime in rt 
-- Looking for clock_gettime in rt - not found 
-- Check if the system is big endian 
-- Searching 16 bit integer 
-- Looking for sys/types.h 
-- Looking for sys/types.h - found 
-- Looking for stdint.h 
-- Looking for stdint.h - found 
-- Looking for stddef.h 
-- Looking for stddef.h - found 
-- Check size of unsigned short 
-- Check size of unsigned short - done 
-- Using unsigned short 
-- Check if the system is big endian - little endian 
server-example-logging: sqlite not found 
-- Generating RC file : D:/Users/patrick/src/vs2017/libiec61850/build/src/version.rc 
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR 
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed 
-- Performing Test COMPILER_HAS_DEPRECATED 
-- Performing Test COMPILER_HAS_DEPRECATED - Success 
-- Configuring done 
-- Generating done 
-- Build files have been written to: D:/Users/patrick/src/vs2017/libiec61850/build 

D:\Users\patrick\src\vs2017\libiec61850\build>nmake 

Microsoft (R) Program Maintenance Utility Version 14.11.25547.0 
Copyright (C) Microsoft Corporation. All rights reserved. 

Scanning dependencies of target iec61850 
[ 0%] Building CXX object src/CMakeFiles/iec61850.dir/common/string_map.c.obj 
string_map.c 

それは、その後コンパイル続けました。

これをすべて試してみてください。ビルドディレクトリを作成する場合は、そのディレクトリにcdする必要があります。そして、cmakeを '..'で実行して、CMakeLists.txtディレクトリが1つ上のディレクトリであることを示します。 NMakeを使用できない場合や、動作しない場合は教えてください。

+0

こんにちはPatrick、私はあなたの提案に従っており、図書館の建物はVS2017で動作します!どうもありがとう。さて、私がライブラリで与えられたサンプルを使用したいとき、私は前と同じプロセスを使用します。つまり、サンプルの1つにサブディレクトリを作成し、次にそれをcdしてもう一度タイプします:cmake .. -G "Visual Studio 15 2017"と表示され、選択されたサンプルのビルドファイルが作成されます(Visual Studioでは正常です)。 Python 3.6でライブラリとサンプルの両方を直接取得したいのですが?どうもありがとう! – jezzy

+0

ビルドがうれしいです!ビルド\ examples(ディレクトリ内のディレクトリ)にいくつかのサンプル実行ファイルが置かれているようです。 Pythonでそれを使用することについては、わかりません。彼らの[github page](https://github.com/mz-automation/libiec61850)から、あなたはswigでビルドできる実験的なPythonバインディングがあると言います。ビルドすると、プロセスが少し複雑になります。 cmakeを実行するときに-DBUILD_PYTHON_BINDINGS = ONフラグを渡すことができますが、swakeを持っていなければならず、cmakeを実行するときにlibiec61850がそれを見つけることができるようにする必要があります。 –

関連する問題