Skip to content

Compiling Libraries #202

@JackWaterhouse

Description

@JackWaterhouse

Hello,

I'm trying to compile the EBML and Matroska libraries using Visual Studio under Windows.

I started by cmake-ing the EBML libary - this successfully creates a static library, but it doesn't create EBMLTargets.cmake. The INSTALL. The INSTALL project generates lots of errors:

1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------
2>------ Build started: Project: ebml, Configuration: Release x64 ------
2>ebml.vcxproj -> D:\bc\libebml\build\Release\ebml.lib
3>------ Build started: Project: ALL_BUILD, Configuration: Release x64 ------
4>------ Build started: Project: INSTALL, Configuration: Release x64 ------
4>CMake Error at cmake_install.cmake:39 (file):
4>  file cannot create directory: C:/Program Files (x86)/ebml/lib.  Maybe need
4>  administrative privileges.
4>
4>
4>-- Install configuration: "Release"
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: The command "setlocal
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: D:\bc\cmake\bin\cmake.exe -DBUILD_TYPE=Release -P cmake_install.cmake
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmEnd
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmErrorLevel
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: exit /b %1
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmDone
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :VCEnd" exited with code 1.
4>Done building project "INSTALL.vcxproj" -- FAILED.

Attempting to cmake Matroska doesn't get very far:

-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.18362.
-- The C compiler identification is MSVC 19.28.29913.0
-- The CXX compiler identification is MSVC 19.28.29913.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at D:/bc/libebml/build/EBMLConfig.cmake:27 (include):
  include could not find requested file:

    D:/bc/libebml/build/EBMLTargets.cmake
Call Stack (most recent call first):
  CMakeLists.txt:13 (find_package)


-- 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 incomplete, errors occurred!

The CMakeError.log file says:

D:\bc\libmatroska\build\CMakeFiles\CMakeTmp\src.cxx(1,16): error C2065: '__deprecated__': undeclared identifier [D:\bc\libmatroska\build\CMakeFiles\CMakeTmp\cmTC_da8f3.vcxproj]

D:\bc\libmatroska\build\CMakeFiles\CMakeTmp\src.cxx(1,31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\bc\libmatroska\build\CMakeFiles\CMakeTmp\cmTC_da8f3.vcxproj]

D:\bc\libmatroska\build\CMakeFiles\CMakeTmp\src.cxx(1,37): error C2448: '__attribute__': function-style initializer appears to be a function definition [D:\bc\libmatroska\build\CMakeFiles\CMakeTmp\cmTC_da8f3.vcxproj]

I've tried it on several computers, with different releases of Visual Studio, with identical results.

I suspect I'm doing something wrong, but I can't get any further.

Any suggestions would be welcome - thanks for reading this.

John --

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions