Build with assembly enabled fails with Visual Studio (2010 tested) due to missing .asm in file names
Building with VS2010 64 bit command prompt and current release of cmake fails when assembly is enabled. The ouptut window shows generation of the various assembly objects eg. Generating pixel-a.asm.obj 4> Generating const-a.asm.obj 5> Generating const-a.asm.obj 4> Generating cpu-a.asm.obj 5> Generating cpu-a.asm.obj 4> Generating ssd-a.asm.obj 5> Generating ssd-a.asm.obj 4> Generating mc-a.asm.obj 5> Generating mc-a.asm.obj 4> Generating mc-a2.asm.obj
However, looking at the output directory, the generated files are incorrectly named and missing the .asm in their names, causing the linking phase to fail.
dir listing ssd-a.obj etc. etc.
linker output in visual studio: Error 1 error LNK1181: cannot open input file 'C:\dev2\x265\build\vc10-x86_64\pixel-a.asm.obj' C:\dev2\x265\build\vc10-x86_64\LINK x265-shared error repeats for each of the misnamed assembler object files.
Comments (9)
-
-
- changed status to resolved
-
I got the same issue. I followed the instructions provided and am building on Windows 8.1 64bit using VS2010.
I am using CMake 3.4.0 rc2, and I cleaned the build directory several times now.
:
5>------ Neues Erstellen gestartet: Projekt: x265-shared, Konfiguration: Debug x64 ------ 5> Building Custom Rule D:/Arbyte/_Pointclouds/_lib265/source/CMakeLists.txt 4> Building Custom Rule D:/Arbyte/_Pointclouds/_lib265/source/CMakeLists.txt 5> CMake does not need to re-run because D:\Arbyte\_Pointclouds\_lib265\build\vc10-x86_64\CMakeFiles\generate.stamp is up-to-date. 4> CMake does not need to re-run because D:\Arbyte\_Pointclouds\_lib265\build\vc10-x86_64\CMakeFiles\generate.stamp is up-to-date. 5> Generating pixel-a.asm.obj 4> Generating pixel-a.asm.obj 4> Generating const-a.asm.obj 5> Generating const-a.asm.obj 4> Generating cpu-a.asm.obj 5> Generating cpu-a.asm.obj 4> Generating ssd-a.asm.obj 5> Generating ssd-a.asm.obj 4> Generating mc-a.asm.obj 5> Generating mc-a.asm.obj 4> Generating mc-a2.asm.obj 5> Generating mc-a2.asm.obj 4> Generating pixel-util8.asm.obj 5> Generating pixel-util8.asm.obj 4> Generating blockcopy8.asm.obj 5> Generating blockcopy8.asm.obj 4> Generating pixeladd8.asm.obj 5> Generating pixeladd8.asm.obj 4> Generating dct8.asm.obj 5> Generating dct8.asm.obj 4> Generating sad16-a.asm.obj 5> Generating sad16-a.asm.obj 5> Generating intrapred16.asm.obj 4> Generating intrapred16.asm.obj 5> Generating ipfilter16.asm.obj 4> Generating ipfilter16.asm.obj 4> Generating loopfilter.asm.obj 5> Generating loopfilter.asm.obj 4>LINK : fatal error LNK1181: Eingabedatei "D:\Arbyte\_Pointclouds\_lib265\build\vc10-x86_64\pixel-a.asm.obj" kann nicht ge÷ffnet werden. 5>LINK : fatal error LNK1104: Datei "D:\Arbyte\_Pointclouds\_lib265\build\vc10-x86_64\pixel-a.asm.obj" kann nicht geöffnet werden.
-
Account Deleted Did you try with cmake version 2.8?
when configuring the project using cmake version 3.4, i am getting below cmake warning. But the x265 project is building fine with visual studio 2010 Win64.
CMake Warning (dev) at C:/Program Files (x86)/CMake 3.4/share/cmake-3.4/Modules/CMakeASMInformation.cmake:35 (if): Policy CMP0054 is not set: Only interpret if() arguments as variables or keywords when unquoted. Run "cmake --help-policy CMP0054" for policy details. Use the cmake_policy command to set the policy and suppress this warning.
Quoted variables like "ASM" will no longer be dereferenced when the policy is set to NEW. Since the policy is not set the OLD behavior will be used. Call Stack (most recent call first): cmake/CMakeASM_YASMInformation.cmake:67 (include) test/CMakeLists.txt:2 (enable_language) This warning is for project developers. Use -Wno-dev to suppress it
you can check the cmake policy in CMakeLists.txt file.
-
reporter This bug is NOT resolved and was closed without any communication with me. I tested cmake 2.8.12, 3.3, and 3.4rc1, each with a clean build directory. i am happy to provide screenshots, logs or video footage as required. This issue blocks x265 from being built with assembler on the windows platform using supported tooling as documented in x265's own build guides.
-
Account Deleted I seem to have the same issue with the compilation of x265 on Microsoft Visual Studio 2010 - using YASM. I tried cmake vs 2.8.12 and 3.4. VS reports the generation of the asm.obj files, but the LINKER complains right away about not being able to find the said files.
-
I also meet this problem. OS: Windows 10 x64 VS: VS Community 2015 Update 3 YASM: vsyasm-1.3.0-win64
-
Don't use "vsyasm-1.3.0-win64" instead use "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe"
Same issue here with "vsyasm-1.3.0-win64" OS: WIndows 10 x64 VS Community 2017 but "yasm-1.3.0-win64" works fine.
-
Account Deactivated If yasm works, then it is some problem with vsyasm and not an x265 issue. Can I close this?
- Log in to comment
This is not an x265 error. Please check your cmake version or clean your build directory.