[x265] x265 building failed in cygwin

idxa at sina.com idxa at sina.com
Wed Nov 20 03:42:51 CET 2013


I have deleted "elseif(UNIX)" branch and it has been built successfully in Cygwin, thanks!
 
if(X64)
    set(ASM_FLAGS "-DARCH_X86_64=1 -m amd64 -DPIC")
    if(APPLE)
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho64 -DPREFIX")
    elseif(UNIX)
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f elf64")
    else()
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f win64")
    endif()
else()
    set(ASM_FLAGS -DARCH_X86_64=0)
    if(APPLE)
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho")
    else()
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f win32 -DPREFIX")
    endif()
endif()
 

On Tue, Nov 12, 2013 at 9:54 PM, chen <chenm003 at 163.com> wrote:

>
> On Mon, Nov 11, 2013 at 8:51 PM, <idxa at sina.com> wrote:
>
>> Hi,
>> I have built x265 in cygwin using the following step,
>> 1. cd x265/build/linux
>> 2. ./make-Makefiles.bash
>> 3. make
>>
>> it shows:
>> Cannot export x265_cpu_cpuid: symbol not defined
>> Cannot export x265_cpu_cpuid_test: symbol not defined
>> Cannot export x265_cpu_emms: symbol not defined
>> ...
>> My question is how to modify to let x265 support cygwin?
>>
>
> We primarily support MinGW for GCC on Windows, but in all likely-hood
> cygwin could be made to work.
>
> Can you send me the full build log, particularly the cmake portion?  For
> whatever reason cpu-a.asm isn't being linked into the static lib.
>
> Seems ABI problem, he use GCC makefile and Cygwin+Yasm use difference ABI
>
>

good point.  This might be a yasm command line flag issue, our cmake file
has:
if(X64)
    set(ASM_FLAGS "-DARCH_X86_64=1 -m amd64 -DPIC")
    if(APPLE)
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho64 -DPREFIX")
    elseif(UNIX)
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f elf64")
    else()
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f win64")
    endif()
else()
    set(ASM_FLAGS -DARCH_X86_64=0)
    if(APPLE)
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho")
    elseif(UNIX)
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f elf32")
    else()
        set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f win32 -DPREFIX")
    endif()
endif()

I presume cygwin takes the UNIX path; but does elf64/elf32 link with cygwin
gcc compiled C++ code? I'm afraid it's been several years since I've used
cygwin.  Msys has been a much saner environment for so long.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131120/b5f59dcc/attachment.html>


More information about the x265-devel mailing list