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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions