Td: error in cmake -DCMAKE_TOOLCHAIN_FILE=C:\src\vcpkg\scripts\buildsystems\vcpkg.cmake ..

Created on 1 Feb 2018  Â·  11Comments  Â·  Source: tdlib/td

hi . i have error in this line

cmake -DCMAKE_TOOLCHAIN_FILE=C:\src\vcpkg\scripts\buildsystems\vcpkg.cmake ..

and my error detail is

Done Building Project "C:\Users\Aliakbar\Desktop\td-master\td-master\build\ALL_BUILD.vcxproj" (default targets) -- FAILED.


Build FAILED.

"C:\Users\Aliakbar\Desktop\td-master\td-master\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Users\Aliakbar\Desktop\td-master\td-master\build\td\generate\generate_json.vcxproj" (default target) (6) ->
"C:\Users\Aliakbar\Desktop\td-master\td-master\build\tdutils\tdutils.vcxproj" (default target) (7) ->
"C:\Users\Aliakbar\Desktop\td-master\td-master\build\tdutils\generate\tdmime_auto.vcxproj" (default target) (8) ->
(CustomBuild target) ->
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with co
de 9009. [C:\Users\Aliakbar\Desktop\td-master\td-master\build\tdutils\generate\tdmime_auto.vcxproj]

    0 Warning(s)
    1 Error(s)

how can i fix it?

Most helpful comment

After installing Windows 10 SDK with VS Build Tools installer it compiled. Don't know what it was.

All 11 comments

Have you installed gperf and added path to it to the %PATH% environment variable?

@levlam I also have such problem. Did all as said in instruction. gperf is working fine from cmd (of course everywhere, not only in his directory).

@levlam yeah. i install gperf completly

Could you try to manually run from the <path to TDLib sources>/tdutils/generate/ directory command
powershell -ExecutionPolicy ByPass " & gperf -m100 --output-file=auto/mime_type_to_extension.cpp auto/mime_type_to_extension.gperf"?

After installing Windows 10 SDK with VS Build Tools installer it compiled. Don't know what it was.

I can't use it with Golang, so just publish here precompiled binaries, maybe will be usefull for someone:
https://drive.google.com/open?id=17xL9TVWlsuPyok7j6FgZ-BJhsV1ZocjE
MSVC, x64.

L11R: you build is x32, not x64
From dumpbin /headers tdjson.dll:

FILE HEADER VALUES
             14C machine (x86)

This is win64 build: https://drive.google.com/open?id=1j2AADHKj2NJi1LrXoC63oPAqlYf09fP5

For build you need gperf in PATH, vcpkg and cmake
If you want build x64 version you need use x64 vcpkg triplet and x64 cmake generator:

.\vcpkg --triplet x64-windows install openssl zlib
[go to td dir]
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=C:\src\vcpkg\scripts\buildsystems\vcpkg.cmake -DVC
PKG_TARGET_TRIPLET=x64-windows -DCMAKE_GENERATOR_PLATFORM=x64 ..
cmake --build . --config Release

We (vcpkg) should detect VCPKG_TARGET_TRIPLET correctly, so it should work with just:

cmake .. -DCMAKE_TOOLCHAIN_FILE=…/vcpkg.cmake -A x64

@ras0219-msft Please tell your colleagues that it's impossible to use windows 10 in the modern world.
For coding in general, a terrible operating system. The speed of my hands is higher than the speed of the operating system.
Please.

Error message, shown when gperf is not found, should be much better in TDLib 1.2.0.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

RadRussianRus picture RadRussianRus  Â·  3Comments

pishnok picture pishnok  Â·  3Comments

mossaudi picture mossaudi  Â·  3Comments

hatami57 picture hatami57  Â·  4Comments

FJarvan picture FJarvan  Â·  3Comments