編譯最新版本的MAME

媽媽0

這次,我要談的是 編譯 最新版本 MAME由於在官方頁面上有一個編譯時的缺點。

為計算機編譯程序的好處是,您可以從中受益匪淺,尤其是中央處理器,因為仿真器通常會大量使用它。 另外,安裝一個 前端 與程序更好地交互。

本指南或教程專為那些不符合要求的人而設計 MAME 的面料。 因此,當您進行位置測試時,好處顯而易見。 🙂

為了開始編譯工作,我們克隆了程序源,並執行以下操作:

不要下載版本 資源 頁面的 馬梅捷夫,因為它會在編譯中產生許多錯誤。
用戶 德比安·烏本圖(Debian-Ubuntu),安裝以下軟件包:
build-essential gconf2 libgconf2-dev libgtk2.0-dev libsdl1.2-dev libsdl-ttf2.0-dev

用戶 archlinux,我很抱歉,但是我已經安裝了很長時間的庫,只需查看其中的庫並通過 吃豆子.

git clone git://git.redump.net/mame

媽媽

克隆過程完成後,請轉到創建的目錄,在這種情況下,默認情況下創建的目錄是«媽媽».

在該目錄中,我們將擁有一系列文件夾和文件。 從這裡開始,我們只對 生成文件。 他們使用自己選擇的文本編輯器將其打開,我們正在尋找類似於以下內容的東西:

#ARCHOPTS = -march=native      # optimize for local machine (auto detect)

我們取消註釋該行,它保持不變,如下圖所示。

媽媽2

我們保存更改,然後在此處使用make命令開始編譯:

make

如果您想充分利用編譯時間,請使用 使 -j# 東德 # 是您團隊中的核心數量。
要知道您的團隊有多少個核心,請在終端中啟動以下命令: grep -c ^處理器/ proc / cpuinfo

編譯過程完成工作後,將出現一個文件,該文件的名稱取決於系統體系結構,如下所示: 媽媽 如果您使用的是32位或 媽媽64 對於64位。 媽媽3

就我而言,我使用的是64位系統。

好吧,到目前為止,我們還不錯,我們已經可以使用該程序玩遊戲了,但是對於初學者來說有點麻煩。 所以讓我們用程序來補充它 qmc2.

在那裡,在同一窗口中執行 酸奶 安裝前端。

對於Archlinux用戶

yaourt -S qmc2

對於Ubuntu-Debian用戶

sudo add-apt-repository ppa:mmbossoni-gmail / emu sudo apt-get更新sudo apt-get安裝qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
對於的用戶 Ubuntu / Debian

將mame的可執行文件複製到以下路徑: / usr /遊戲/ mame

然後他們打開程序 qmc2 - 斯達瑪 並且此窗口將出現:

qmc2-sdlmame

如您所見,該程序要求不高。

該窗口中最重要的是可執行文件的路徑,工作目錄和rom的路徑。

mame可執行文件的路徑,只要您告訴程序可執行文件在哪裡,就可以在任何位置使用它,遊戲也一樣。

這是行動中的媽媽。 好吧,在那兒,我已經在嘗試一款遊戲,這是我最喜歡的老虎機之一,我花了很多時間在遊戲中,現在我是在這裡贏錢的人。 xD

我們的 MAME 在行動

行動

有人打招呼和玩😀

這是我為該博客撰寫的第一篇文章,我以毛里西奧(Mauricio)的綽號關注了很長時間,他的有趣的帖子以及他總是有新東西要展示。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   靜音 他說:

    你從哪裡得到roms?

    1.    鸚鵡螺 他說:

      在Google上,朋友🙂

  2.   宅男洛根 他說:

    非常好的文章,請記住,在Steam之前,已經有GNU / Linux上的視頻遊戲。 它們不是新的或本機的,但它們可以提供數千小時的娛樂和樂趣。

    我想命名為UME(http://mamedev.emulab.it/haze/),該計劃將Mame和Mess融合在一起(如果Mame處理的是街機遊戲,而Mess處理的是視頻控制台),則可以創建真正的多系統模擬器。 我只在OpenSUSE仿真器存儲庫和ArchLinux社區中看到過它,但是要在Debian中進行編譯,遵循的步驟與NauTiluS針對Debian / Ubuntu公開的步驟非常相似。

    1.    鸚鵡螺 他說:

      如果編輯makefile,然後轉到第27行,則會發現一個重要的變量。 此變量是指定要構建的目標的變量,它們是:MAME,UME,MESS等。

      在您的情況下,將其更改為UME,您將獲得此可執行文件。

      問候

  3.   阿比爾 他說:

    你好
    當我使我得到以下內容:

    src / osd / sdl / sdl.mak:519:***未找到Qt的元對象編譯器(moc)! 高。

    我使用Kubuntu 12.04 32位

    謝謝

    1.    舍弗拉韋羅斯 他說:

      在我看來,這是在警告您,您需要安裝moc。 經過研究後,我發現您可能需要的是汽車,但我不確定。 嘗試在Sinaptic或Aptitude中搜索,我不記得哪個人使用Kubuntu。

      1.    阿勒比爾斯 他說:

        謝謝,是安裝moc和automoc並正在編譯

  4.   羅洛 他說:

    安裝最新版本的mame是否方便? 我問為什麼在加載deb-multimedia倉庫時,我安裝了比debian測試版本更現代的mame,但是...許多遊戲停止了工作。 所以我保留了debian版本和再見問題。
    我不確定,但我認為許多遊戲都是針對特定版本的mame編譯的

  5.   阿比爾 他說:

    我終於編譯了
    但是當想要安裝qmc2時,我得到:

    須藤apt-get install qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
    正在閱讀包裝清單...完成
    創建依賴樹
    正在讀取狀態信息...完成
    不要安裝一些包裝。 這可能意味著
    您要求一個不可能的情況,或者如果您使用的是發行版
    不穩定,尚未創建某些必需的軟件包或具有
    已移出“傳入”。
    以下信息可以幫助解決這種情況:

    以下軟件包具有未滿足的依賴性:
    qmc2-sdlmess:取決於:sdlmess(> = 0.144),但它不可安裝或
    混亂(> = 0.144),但無法安裝
    qmc2-sdlume:取決於:sdlume(> = 0.144),但它不可安裝或
    ume(> = 0.144)但不可安裝
    E:無法糾正問題,您保留了損壞的包裝。

    1.    鸚鵡螺 他說:

      您好,感謝您的評論。
      在這種情況下,您所要做的就是欺騙系統並安裝所需的軟件包sdlmame和sdlmess。

      這樣,您的問題就解決了,然後替換或傳遞您編譯的Mame所在的路徑。

      問候

      1.    阿比爾 他說:

        我嘗試使用apt-get install安裝它們,但得到以下信息:
        sudo apt-get 安裝 sdlmess
        正在閱讀包裝清單...完成
        創建依賴樹
        正在讀取狀態信息...完成
        sdlmess軟件包不可用,但是其他一些軟件包參考
        到了。 這可能意味著包裝件丟失,陳舊或僅
        可從其他來源獲得

        E:“ sdlmess”軟件包沒有候選安裝

        和sdlume一樣

        1.    鸚鵡螺 他說:

          請嘗試以下方法。

          sudo touch sdlmess / usr /遊戲/
          欺騙安裝程序。

          問候

          1.    阿比爾 他說:

            你好
            探測,但是什麼也沒發生,它仍然不會讓我安裝...
            🙁

      2.    阿魯納多 他說:

        安裝xmame-sdl效果同樣好! 並且您路由到/ usr / games / mame-儘管qmc2要求輸入sdl….-。
        這個答案很晚,但是對於其他正在尋找相同事物的人可能會有用。 我花了兩天的時間收集所有信息,以使Mame在當前版本0.153中正常工作。
        如果您想要此版本的roms,儘管比較慢,最好的頁面是planetemu.net。 問候。
        我仍然找不到如何通過操作過濾qmc2中的rom的方法,找不到該選項,這使我的官方名單非常長!

  6.   鏈接 他說:

    我喜歡的是qmc2是Qt:D應用程序,但是我使用kubuntu 14.04卻很可惜,因為qmc2 PPA僅在有效之前可用。

    1.    鸚鵡螺 他說:

      您好,您可以嘗試從qmc2頁面下載源代碼來編譯它。
      http://qmc2.arcadehits.net/wordpress/download/

      問候。

      1.    阿爾貝托 他說:

        如果僅安裝mame,為什麼還要安裝這些(qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman)?

        須藤apt-get install qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
        正在閱讀包裝清單...完成
        創建依賴樹
        正在讀取狀態信息...完成
        不要安裝一些包裝。 這可能意味著
        您要求一個不可能的情況,或者如果您使用的是發行版
        不穩定,尚未創建某些必需的軟件包或具有
        已移出“傳入”。
        以下信息可以幫助解決這種情況:

        以下軟件包具有未滿足的依賴性:
        qmc2-sdlmess:取決於:sdlmess(> = 0.144),但它不可安裝或
        混亂(> = 0.144),但無法安裝
        qmc2-sdlume:取決於:sdlume(> = 0.144),但它不可安裝或
        ume(> = 0.144)但不可安裝
        E:無法糾正問題,您保留了損壞的包裝。

        對於那些發生這種情況的人,只需安裝qmc2-sdlmame
        它看起來像這樣:
        sudo add-apt-repository ppa:mmbossoni-gmail / mu
        命令和apt-get update更新
        須藤apt-get install qmc2-sdlmame

  7.   雲母 他說:

    您好,如何下載?

  8.   費爾明·巴爾博扎 他說:

    執行make時,會出現以下錯誤:

    src / osd / sdl / sdl.mak:456:***檢測到Ubuntu 12.10。 請安裝gcc-4.6和g ++-4.6軟件包。 停止。

    嘗試安裝gcc或g ++時,出現以下錯誤:

    apt-get install gcc-4.6 --fix-missing
    正在閱讀包裝清單...完成
    創建依賴樹
    正在讀取狀態信息...完成
    以下額外的軟件包將被安裝:
    cpp-4.6 gcc-4.6-基礎
    建議包裝:
    gcc-4.6-locales gcc-4.6-multilib libmudflap0-4.6-dev gcc-4.6-doc libgcc1-dbg libgomp1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold
    將安裝以下新軟件包:
    cpp-4.6 gcc-4.6 gcc-4.6-base
    已更新0,將安裝3,將其刪除0,以及未更新19。
    您需要下載12,5 MB的文件。
    此操作後,將使用28,1 MB的額外磁盤空間。
    您要繼續[是/否]嗎? s
    注意:以下軟件包無法通過身份驗證!
    基於gcc-4.6的cpp-4.6 gcc-4.6
    安裝這些軟件包而不進行驗證[y / n]? s
    犯錯 http://archive.ubuntu.com/ubuntu/ 量化/主要基於gcc-4.6的amd64 4.6.3-10ubuntu1
    找不到404 [IP:91.189.88.153 80]
    犯錯 http://archive.ubuntu.com/ubuntu/ 量化/主cpp-4.6 amd64 4.6.3-10ubuntu1
    找不到404 [IP:91.189.88.153 80]
    犯錯 http://archive.ubuntu.com/ubuntu/ 量化/主gcc-4.6 amd64 4.6.3-10ubuntu1
    找不到404 [IP:91.189.88.153 80]
    不可能得到 http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-10ubuntu1_amd64.deb 找不到404 [IP:91.189.88.153 80]
    不可能得到 http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/cpp-4.6_4.6.3-10ubuntu1_amd64.deb 找不到404 [IP:91.189.88.153 80]
    不可能得到 http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6_4.6.3-10ubuntu1_amd64.deb 找不到404 [IP:91.189.88.153 80]
    丟失的軟件包無法糾正。
    E:中止安裝。

    我有Linux Mint Maya

    1.    x11泰特11x 他說:
    2.    鸚鵡螺 他說:

      您好,對不起您的答复。

      Mint Maya linux是一個非常老的朋友,您必須手動安裝gcc,才能編譯該程序。

      雖然我認為還有另一種方法,但是您必須在ubuntu歷史存儲庫中手動搜索軟件包。

      我認為薄荷瑪雅酒是基於精確的
      http://packages.ubuntu.com/precise/devel/

      僅,您必鬚根據程序要求下載gcc 4.6軟件包。

  9.   弗洛雷斯 他說:

    嘿,如何刪除所有文件?

    1.    鸚鵡螺 他說:

      假設您的意思是編譯文件,然後通過在終端“ make clean”中運行此命令。 如果要刪除所有內容和文件夾,請在上面的目錄中使用rm -vrf“文件夾名稱”。

  10.   LEA 他說:

    你好! 我有Manjaro(archlinux),它無法編譯
    扔給我
    / usr / bin / ld:找不到-lSDL_ttf
    collect2:錯誤:ld返回退出狀態1
    src / build / build.mak:63:目標'obj / sdl / build / file2str'的配方失敗
    make:*** [obj / sdl / build / file2str]錯誤1

    另外,除了build-essential之外,我不知道您開始時提到的庫中有哪些等效庫,如果您能幫我一下,我將不勝感激!

    1.    鸚鵡螺 他說:

      你好確實,您需要SDL_ttf庫。 要將其安裝在archlinux上,只需將其放入控制台“ pacman -S sdl_ttf”。

      另外,您必須安裝“ pacman -S sdl”庫。

      在基本構建上,很可能您已經安裝了它。 在ubuntu和衍生版本中安裝的是一些基本的編譯實用程序。

      任何其他不便之處請隨時提出。

  11.   LEA 他說:

    你好! 那對我有用! 謝謝! 現在我又遇到了一個錯誤,這使我想到了:

    編譯src / mame / video / model1.c…
    src / mame / video / model1.c:在函數'void draw_quads(model1_state *,bitmap_rgb32&,const矩形&)'中:
    src / mame / video / model1.c:307:17:錯誤:數組的下標超出了數組的限制[-Werror = array-bounds]
    而(p [ps2 + 1] .y == cury)
    ^
    src / mame / video / model1.c:319:17:錯誤:數組的下標低於數組的限制[-Werror = array-bounds]
    而(p [ps1-1] .y == cury)
    ^
    src / mame / video / model1.c:319:17:錯誤:數組的下標低於數組的限制[-Werror = array-bounds]
    src / mame / video / model1.c:329:17:錯誤:數組的下標超出了數組的限制[-Werror = array-bounds]
    而(p [ps2 + 1] .y == cury)
    ^
    src / mame / video / model1.c:329:17:錯誤:數組的下標超出了數組的限制[-Werror = array-bounds]
    src / mame / video / model1.c:305:17:錯誤:數組的下標低於數組的限制[-Werror = array-bounds]
    而(p [ps1-1] .y == cury)
    ^
    cc1plus:所有警告均視為錯誤
    生成文件:922:目標'obj / sdl / mame / video / model1.o'的配方失敗
    製作:*** [obj / sdl / mame / video / model1.o]錯誤1

    可能是哪個?

    格拉西亞斯!

    1.    鸚鵡螺 他說:

      一切似乎都指示編譯器錯誤。

      您需要編譯器的更高級版本。

  12.   拉斐爾·埃斯卡米利亞 他說:

    您好,我編譯了MAME的.0151版本,除了您提到的軟件包,還需要libqt4-dev。 問候🙂