2013-07-26 29 views
5

Tôi đã thực hiện tất cả các bước trên trang biên dịch/cài đặt trên trang web của Mesa và đọc Câu hỏi thường gặp. Lệnh cuối cùng mà bạn gửi đến các scons để biên dịch sẽ phát ra các lỗi trong các kịch bản lệnh python. Đây là đầu ra của tôi. Tôi đang làm gì sai? Ngoài ra nếu có ai đã biên dịch của dll cho mesa sử dụng đến nay mesa và mingw, hoặc VS2012, sau đó xin vui lòng chia sẻ!Xây dựng Mesa cho cửa sổ 7. Mesa 9.1

Đây là đầu ra của tôi, tôi đã không lập trình python trong một thời gian dài nhưng nó xuất hiện một bản đồ/từ điển không chứa cặp khóa/giá trị.

C:\Downloads\MesaLib-9.1.5\Mesa-9.1.5>scons platform=windows toolchain=crossming 
w machine=x86_64 mesagdi libgl-gdi 

scons: Reading SConscript files ... 
KeyError: 'CCVERSION': 
    File "C:\Downloads\MesaLib-9.1.5\Mesa-9.1.5\SConstruct", line 40: 
    ENV = os.environ, 
    File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 1002: 
    apply_tools(self, tools, toolpath) 
    File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 106: 
    env.Tool(tool) 
    File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 1786: 
    tool(self) 
    File "C:\Python27\scons-2.3.0\SCons\Tool\__init__.py", line 183: 
    self.generate(env, *args, **kw) 
    File "C:\Downloads\MesaLib-9.1.5\Mesa-9.1.5\scons\gallium.py", line 313: 
    ccversion = env['CCVERSION'] 
    File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 412: 
    return self._dict[key] 
+0

Bạn sẽ phải làm tốt hơn thế nếu bạn muốn có câu trả lời. Chỉ cần nói "Tôi đã đi qua một câu hỏi thường gặp và nó không hoạt động" là không đủ để trả lời bất cứ điều gì. Bạn thậm chí không bận tâm để liên kết đến các câu hỏi thường gặp trong câu hỏi, hãy để một mình cho chúng tôi biết chính xác những gì bạn đã làm. –

+0

Không bao giờ có thể nhận được MinGW để xây dựng các tệp nhị phân Mesa khả thi. Đã không thử gần đây mặc dù. Bạn đang cố gắng gì để biên dịch chéo? Win64 từ Win32? – genpfault

+0

Không cố gắng vượt qua biên dịch, chỉ muốn xây dựng OpenGL trên nền tảng này. Lý do toolchain = crossmingw là vì đó là những gì các hướng dẫn đã nói. Tôi đã làm theo hướng dẫn trên trang biên dịch/cài đặt trang web của mesa. Tôi đã theo từng bước, và mỗi bước là một thành công, ngoại trừ bước cuối cùng là lệnh scons để biên dịch, tôi không chắc bạn mong đợi gì để nói với bạn về điều đó, các bước được liệt kê trên trang. Những gì tôi đề cập trong FAQ là trang FAQ trên trang web của mesa. Không có nhiều câu hỏi thường gặp có liên quan, tôi chỉ muốn chỉ ra rằng tôi đã thực sự đọc nó. – EddieV223

Trả lời

17

Common scons lựa chọn:

build=release 
machine=x86 
platform=windows 
libgl-gdi 
  1. Linux (Debian Wheezy), toolchain=crossmingw: Thất bại trong liên kết giai đoạn bởi vì nó không thể tìm thấy __vscprintf, trong số những thứ khác.trình như Debian Jessie 8,5 & Mesa d2f42a945ec0fbcc51b59cfd329258bd62ebf0d2 qua:

    scons \ 
    toolchain=crossmingw \ 
    build=release \ 
    machine=x86 \ 
    platform=windows \ 
    libgl-gdi 
    

    DLL được cài đặt để build/windows-x86/gallium/targets/libgl-gdi/opengl32.dll

  2. Windows, toolchain=mingw: Thất bại với "Dòng lệnh quá dài." mặc dù có nhiều hoán vị của cả hai đoạn mã trên LongCmdLinesOnWin32.

  3. Windows, VS2012 Express, MSVC_VERSION=11.0: Thành Công sau khi gỡ bỏ stray C99-isms từ src/glsl/ralloc.c::ralloc_size().


EDIT: hoàn thành thủ tục gửi:

  1. Cài đặt Visual Studio Express 2012 cho Windows Desktop:

    http://www.microsoft.com/visualstudio/eng/downloads#d-express-windows-desktop 
    
  2. Cài đặt MinGW:

    http://www.mingw.org/ 
    http://sourceforge.net/projects/mingw/files/ 
    http://sourceforge.net/projects/mingw/files/latest/download?source=files 
    mingw-get-inst-20120426.exe 
    
    Run installer: 
    Download latest repo catalogs 
    Install to C:\MinGW (default) 
    Check: 
    * C compiler 
    * C++ compiler 
    * MSYS basic system 
    * MinGW developer toolkit (should install msys-flex and msys-bison) 
    
  3. Cài đặt Python 2.7:

    http://www.python.org/download/ 
    http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi 
    
    You have to use 32-bit Python because the Scons people only distribute 32-bit installers. 
    
    Install for all users (default) 
    Install to C:\Python27 (default) 
    Use default install options/customizations 
    
  4. Install libxml2 cho Python:

    http://www.lfd.uci.edu/~gohlke/pythonlibs/ 
    libxml2-python-2.9.1.win32-py2.7.‌exe 
    
    Installer should find the python install automagically 
    
  5. Install pywin32:

    http://pywin32.sourceforge.net/ 
    http://sourceforge.net/projects/pywin32/files/pywin32/ 
    http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/ 
    http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/pywin32-218.win32-py2.7.exe 
    
    Installer should find the Python install automagically 
    
  6. Install Scons:

    http://www.scons.org/ 
    http://prdownloads.sourceforge.net/scons/scons-2.3.0-setup.exe 
    
    Installer should find the Python install automagically 
    
  7. Thêm những gần đầu PATH của bạn:

    C:\Python27\ 
    C:\Python27\Scripts 
    
  8. Tải Mesa:

    ftp://ftp.freedesktop.org/pub/mesa/ 
    ftp://ftp.freedesktop.org/pub/mesa/9.1.5/MesaLib-9.1.5.zip 
    
    Extract somewhere (C:\Mesa-9.1.5) 
    
  9. Bắt đầu MSYS shell:

    C:\mingw\msys\1.0\msys.bat 
    
    Change into mesa src directory: 
    cd /c/Mesa-9.1.5/ 
    
  10. Xây dựng Mesa:

    scons.py \ 
    build=release \ 
    machine=x86 \ 
    platform=windows \ 
    MSVC_VERSION=11.0 \ 
    libgl-gdi \ 
    

Điều này sẽ tạo một opengl32.dll trong build\windows-x86\gallium\targets\libgl-gdi.

Với little bit more legwork, bạn có thể tạo llvmpipe.

+2

Áp dụng sửa chữa 'ralloc.c' và 10 bước của bạn (chính xác), tôi đã có thể biên dịch thành công' Mesa-9.1.5'. Cảm ơn. : D –

+2

Kể từ khi 64 bit Windows 7 là rất phổ biến ngày hôm nay (trong năm 2014), nếu bạn muốn xây dựng một opengl32.dll 64-bit trên 64bit Windows 7, xác định máy = x86_64. PS: bây giờ là 64bit, điều đáng ngạc nhiên là chúng ta vẫn phải làm việc với dòng lệnh thường xuyên. Nó giống như một cuộc sống nguyên thủy trong xã hội hiện đại. Tôi không rõ nếu đó là một điều tốt. – user2384994

Các vấn đề liên quan