2012-08-29 67 views
6

我的用戶故事:我想將紋理加載到我的openGL程序中。xcode 4.0.2 SOIL庫鏈接錯誤(OSX 10.6.8)

我的問題:我如何在Xcode 4.0.2

所以正確鏈接土壤庫,我已經在過去幾天在谷歌上搜索關於xcode4我的鏈接器警告,和我無法回答它我自己 - 所以我敢於在主題上發佈另一條線索......(腿之間的初學者小腿尾巴)。

我的裸骨的再現步驟:

  1. 我解壓 '簡單的OpenGL圖像庫' 我的下載
  2. 我拖/放libSOIL.a到我的項目文件

    • 在'Build Phases'下,libSOIL.a被自動添加到'Link Binary With Libraries'
    • 在'Build Settings'下,我的Library Search Paths也自動更新
    • 本人的有效架構已指定 「的i386 x86_64的」

我得到這樣的警告,當我嘗試運行我的程序:

LD:警告:忽略文件/用戶/斯科特/開發商/ Projects/SpaceRanger/Code/Production/lib/libSOIL.a,該文件是爲存檔而構建的,不是被鏈接的體系結構(x86_64)

正如我所提到的,我對編程和IDE一般都很陌生,我希望更簡單的方法來加載OpenGL中的紋理(例如, SOIL)將有利於SDL甚至GLFW。如果我在加載一個圖書館時遇到這種麻煩,那些必須完全脫離我的聯盟。編譯來源‘只有創造更多的警告

  • 撥動‘構建有源體系只有’是/否
  • 設置方案:

    其他打了N」

    • 庫添加到基於搜索的小姐企圖’到32和64位
    • 寫我自己的紋理加載器,採用libjpg/devil /等。

    我怕我開始裂傷我的項目只是想這個鏈接庫。如果有人可以幫助我在xcode 4.0.2中正確地鏈接SOIL庫,我會永遠感激。

    非常感謝您提前。

    -kropcke

  • +0

    更新:在SOIL文件夾中,您將看到一些測試圖像以及lib和src文件夾以及其他一些文件夾,並創建一個名爲obj的新文件夾。然後導航到項目/ makefile。應該有makefile。你需要做少許修改,所以在文字編輯(或其他)打開它,並修改這行: – kropcke

    +0

    OBJDIR = OBJ 所以,它說: OBJDIR = ../../ obj 並保存它 – kropcke

    +0

    然後啓動終端。在終端中,輸入cd,然後將makefile目錄拖到終端上,然後按回車鍵。爲了確保你在正確的目錄中,如果輸入ls並返回,你應該得到「備用Makefile.txt makefile」。然後輸入make和return,它會做一些編譯。新的Mac兼容庫現在應該位於lib目錄中。 – kropcke

    回答

    5

    我想補充這一點,它驅使我瘋了最後幾天。除了上述所有內容之外,我還要確保以下內容。

    在項目>目標>構建階段,在 '編譯來源',需要添加.C土文件:

    image_DXT.c,image_helper.c,SOIL.c,stb_image_aug.c。

    現在只能編譯和運行。

    //不知道爲什麼downvote,會欣賞理由!

    +0

    是的,我正在瀏覽一些我的舊帖子 - 爲什麼這是低票?沒有理由,它是無禮的,因爲它是無禮的。 (順便說一句,感謝您的額外cilk :) – kropcke