在實際上首先討論問題之前,我認爲值得一提的是,我很新的鏈接庫和其他與我無關的東西。我學到了關於開源項目/遊戲/等等編程的知識以及谷歌(和Thenewboston的Bucky有關C++的任何事情)。我還問了一些問題,然後做了一些公正的研究:但是無論如何:Zlib鏈接問題
問題本身從這裏開始
我使用的代碼塊(最新版本,我不知道那是什麼,此刻)
我試圖使用fallahn的SFML瓷磚地圖加載器,到目前爲止,我已經成功靜態鏈接SFML,並將地圖加載器文件包含在源代碼中,並將其添加到搜索目錄中,但是,我無法連接zlib(wh ICH地圖加載器使用)
我會繼續前進,步行通過我怎樣與zlib的,因爲我什至不知道我上搞砸了這一步:
- 很明顯,我在繼續到http://zlib.net,抓住最新版本(1.2.8)
- 我把它解壓縮到我的桌面
我走進我的項目的編譯選項,最初我想:「我就在全球建立了我的搜索目錄像以前一樣」 (對於SFML和地圖加載器,有一個'include'和'lib'文件夾,我把'include'放在編譯器搜索d中irectory和鏈接器搜索目錄中的'lib'),除了我從解壓縮得到的文件夾中沒有名爲'include'或'lib'的文件夾。這是我簡單地包括我解壓縮的整個文件夾(我很肯定這是可怕的做法,但我不知道還有什麼要做)
我編譯了一個來自Map loader的源文件的例子,在4次不同的場合中出現了「未定義的膨脹參考」的錯誤。我已經想到了這一點,我在鏈接時犯了一個錯誤,所以那時我就去了谷歌。大多數的答案是簡單的「添加-lz」或「鏈接libz進行」
好了,我不知道什麼是「添加-lz」是指..像所有,所以我只是掛「libz進行」,然後我的編譯器給了我錯誤「ld.exe找不到-lz」,這導致我假設鏈接libz和添加-lz是相同的事情。
無論如何,這裏有些東西我根本不懂,如果你不能解釋它們是什麼,請至少解釋一下如何盲目做: 1.編譯庫 2.任何東西關於make文件,我不知道他們是什麼或者他們做了什麼 3.將命令添加到項目命令行中。
對不起,如果這是相當長的,但我覺得介紹是必要的,因爲也許有人可以鏈接到我可能需要的任何補充知識,這將是有益的,但預先感謝閱讀。
編輯:
建立消息:
C:/文件和設置/布倫達/桌面/ SFML-tmxloader主/ SRC/MapLoaderPrivate.cpp:834:未定義參照inflateInit2_' C:/Documents and Settings/Brenda/Desktop/sfml-tmxloader-master/src/MapLoaderPrivate.cpp:843: undefined reference to
充氣」 Ç :/ Documents and Settings/Brenda/Desktop/sfml-tmxloader-master/src/MapLoaderPrivate。CPP:852:未定義參照inflateEnd' C:/Documents and Settings/Brenda/Desktop/sfml-tmxloader-master/src/MapLoaderPrivate.cpp:881: undefined reference to
inflateEnd」 collect2.exe:錯誤:LD返回1個退出狀態 過程終止狀態1(0分鐘,10秒) 4錯誤,0警告(0分鐘,10秒)
你能顯示你配置正在創建的鏈接命令嗎? – woolstar
編譯器選項-lsomething告訴編譯器去找到一個名爲libsomething.a的文件(或任何平臺適當的文件擴展名),並與它鏈接。 – woolstar
@woolstar如何訪問正在創建的配置? – user1538301