青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 96  文章 - 255  trackbacks - 0
<2025年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

E-mail:zbln426@163.com QQ:85132383 長期尋找對戰略游戲感興趣的合作伙伴。

常用鏈接

留言簿(21)

隨筆分類

隨筆檔案

SDL相關網站

我的個人網頁

我的小游戲

資源下載

搜索

  •  

積分與排名

  • 積分 - 494775
  • 排名 - 39

最新評論

閱讀排行榜

評論排行榜

作者:龍飛

3.1:MinGW 是什么?

        MinGW 提供了一套簡單方便的Windows下的基于GCC 程序開發環境。MinGW 收集了一系列免費的Windows 使用的頭文件和庫文件;同時整合了GNU( http://www.gnu.org/ )的工具集,特別是GNU 程序開發工具,如經典gcc, g++, make等。MinGW是完全免費的自由軟件,它在Windows平臺上模擬了Linux下GCC的開發環境,為C++的跨平臺開發提供了良好基礎支持,為了在Windows下工作的程序員熟悉Linux下的C++工程組織提供了條件。

3.2:為什么使用MinGW?

        因為我和很多IT人士一樣,不愿意吊死在$M這棵樹上。且不說開源這個理念的偉大,僅僅就Windows的安全性也已經讓人們很不安心了。如果再深入一點從編寫程序來看,在C++標準尚不成熟時期產生的MFC今天看來基本上就是蓋子大叔憑著個人(或許是$M公司^^)理解所使用的C++方言。在我們期盼C++0x時代到來之前,沒有任何實際行動能比嚴格遵循C++的ISO標準更能表達我們對于C++這個偉大的哲學體系的尊重。從這個角度來說,遵循ISO標準的實現就是好的實現。所以,MinGW不會比VC差,況且,他既是開源軟件家族中的一員,也是*nix平臺下事實標準GCC的翻版。如果有一天我們開始使用Linux平臺了,會因為今天透過MinGW所了解的GCC知識而受益。

3.3:MinGW 的下載和安裝。

        MinGW的官方主頁是:
http://www.mingw.org/
        你很容易找到下載的鏈接。下載文件是放在sourceforge上的,這也表明MinGW本身也是個在開發中的項目。
http://sourceforge.net/project/showfiles.php?group_id=2435
        下載頁面上有很多令人眼花繚亂的文件,不用害怕,因為這才是軟件最真實的一面。當然,這個軟件的提供者為普通使用者也提供了最為簡單的下載和安裝方式。你只需要下載“MinGW自動下載和安裝軟件”(Package: Automated MinGW Installer; Release: MinGW-5.1.3)MinGW-5.1.3.exe就可以根據提示簡單的安裝了。并且,安裝后的MinGW甚至可以通過這個文件來自動升級,非常的人性化。
        安裝時需要注意以下幾個方面:
1) 建議選擇Current版本,Previous表示以前的版本;Candidate表示當前正在開發的版本,可能正在測試中,還不是非常穩定。
2) 在選擇安裝模塊的時候,根據我們的需要,只需要選擇以下三個:MinGW base tools, g++ compiler, MinGW Make。
3) 安裝路徑請選擇一個容易找到的地方,默認的C:\MinGW 是不錯的選擇。


3.4:MinGW的簡單使用。

        打開“命令提示符”(console)窗口,我們可以簡單的把目錄轉到比如 C:\MinGW\bin 這樣的位置去工作。但是這顯然不是一個好的方式,因為這樣一定會把bin里面搞得很混亂。所以,我們在另外一個“干凈”的地方,比如 D:\Project ,把這里設置成MinGW的工程工作區。這樣,我們需要在系統的path里面添加能找到bin下面*.exe文件的路徑,所以做一個批處理文件是最簡單的方法。我的startg++.bat文件這樣寫的:
@set path=C:\mingw\bin;%PATH%; 
@echo ---**歡迎使用MinGW(GCC)系統**---
@echo Update by lf426 ( E-mail: zbln426@
163.com ) 2007-12-10
@cmd 

        然后,你可以建立一個該文件的快捷方式放在桌面上,再為這個快捷方式指定一個漂亮的圖標,nice!
        接下來,我們需要建立一個cpp文件,用什么來寫cpp呢?

3.4.1:(插播)Vim ??


        這又是一個有著傳統的“悠久”歷史,很好很強大的,免費開源的,牛x文本編輯器。官方主頁是:
http://www.vim.org/
        不用懷疑,你可以很容易的下載Vim的安裝程序,并且很容易的安裝,不需要任何的“破解”-_-!!
        因為Vim很好很強大,所以,太多的內容就留給包括我自己在內的大家自己去學了(我的邏輯Orz)。我們這里簡單的只需要了解如下幾點:
1) 建立一個名為 abc.def 的文本文件,在console窗口下輸入:
vim abc.def
你就進入了vim的編輯界面。
2) 按"i"鍵,就可以輸入文本了。退回到編輯方式,按Esc,再進入插入方式,再按i,就這樣...
3) vim在編輯方式下本來的光標移動是h, j, k, l,不過,上下左右箭頭也是可以使用的。
4) 編輯完成后,(編輯方式下)按Shift+Z兩次,或者:wq就可以保存退出。使用:q!可以不保存強制退出。

3.4.2:MinGW的簡單使用。(續)

        繼續剛才的話題,我們建立一個叫 hello.cpp 的文件(據說Hello World是程序員的咒語...)

#include <iostream>

int main(int argc, char* argv[])
{
    std::cout 
<< "Hello World." << std::endl;
    
return 0;
}

        我們可以簡單的使用命令:g++ hello.cpp,與最傳統的Unix系統下的C編譯器一樣,MinGW為我們生成了一個名為a的可執行文件,當然,在win32下,名字叫做a.exe。
        可以使用參數 -o 來指定編譯的可執行文件的名字:g++ -o hello.exe hello.cpp (或者也可以不寫名exe,直接g++ -o hello hello.cpp 結果一樣)。這樣,得到的文件就是hello.exe。
        可以使用參數 -c 來生成與源文件名相同的目標文件:g++ -c hello.cpp ,得到的文件是hello.o 。
        目標文件可以繼續連接成可執行文件:g++ hello.o ,得到文件a.exe 。
        多個源文件,目標文件和庫文件都可以同時編譯和連接。

3.5:獲得MinGW下的SDL開發庫。(Development Libraries)

        下載頁面:http://www.libsdl.org/download-1.2.php
        下載:SDL-devel-1.2.13-mingw32.tar.gz (Mingw32)

3.6:為MinGW設置SDL庫。

        找到你在硬盤上安裝MinGW的位置,類似:
C:\MinGW
打開include文件夾,在里面建立一個新文件夾,取名為SDL,打開這個新的文件夾:
C:\MinGW\include\SDL
然后,將SDL Development Libraries中include文件夾里面的文件全部拷貝到剛才建立起來的那個新文件夾中。
然后,回到MinGW的文件夾下,打開lib文件夾:
C:\MinGW\lib
將SDL Development Libraries中lib文件夾下的libSDL.dll.a, libSDL.la和libSDLmain.a三個文件拷貝到剛才的那個MinGW的lib文件夾下。
最后,把SDL Development Libraries中lib文件夾下的SDL.dll文件拷貝到
C:\WINDOWS\system32
下。當然,另外一個選擇是將SDL.dll隨時綁定到使用了SDL庫編譯的*.exe文件所在的文件夾中。這通常在發布你的程序的時候使用。

3.7:建立第一個SDL程序。

運行我們之前的那個startg++.bat 文件,打開console窗口,執行命令:vim main.cpp ,將下列代碼寫入并保存。

#include <iostream>
#include 
"SDL/SDL.h"

int main(int argc, char* argv[])
{
    
try {
        
if ( SDL_Init(SDL_INIT_EVERYTHING) == -1 )
            
throw "Could not initialize SDL!";
    }
    
catch ( const char* s ) {
        std::cerr 
<< s << std::endl;
        
return -1;
    }
    std::cout 
<< "SDL initialized.\n";
    SDL_Quit();

    
return 0;
}
執行g++命令:g++ -o MySDL.exe main.cpp -lmingw32 -lSDLmain -lSDL
參數 -l (小寫的L)使庫文件得以與源文件一起編譯和連接。(簡單的可以認為-labc即連接了名稱符合libabc.*的所有庫文件)
最后說明的兩個參數是:-mconsole 和 -mwindows
他們的效果是使可執行程序是帶命令行控制窗口的或者是純Windows窗口的,缺省情況下應該是帶命令行控制窗口的。
運行mysdl.exe可以看到文件的執行情況。
posted on 2008-02-01 01:19 lf426 閱讀(19012) 評論(10)  編輯 收藏 引用 所屬分類: SDL入門教程

FeedBack:
# re: SDL入門教程(一):3、MinGW 下的安裝與設置  2008-06-05 16:41 btest
為什么我照上面的代碼編寫,console沒有任何輸出。然后去除SDL部分,console就能正常輸出?  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置 [未登錄] 2008-06-06 18:12 lf426
MinGW的標準輸出(std::cout & std::cerr)是在一個叫stdout.txt的文本文件中。  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置 [未登錄] 2008-09-12 09:48 伊凡
照做了,g++編譯出錯,找不到SDL_Init和SDL_Quit
我已經把它們加到include里出了啊。。。
同時頭文件引用也是"SDL/SDL.H"
錯誤提示如下:
I:\MinGW Progect>g++ -o main main.cpp
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc5wptK9.o:main.cpp:(.text+0x142): undefined
reference to `SDL_Init'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc5wptK9.o:main.cpp:(.text+0x22d): undefined
reference to `SDL_Quit'
H:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.tex
t+0x104): undefined reference to `WinMain@16'
collect2: ld returned 1 exit status  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置  2008-09-14 18:35 wintry
@伊凡
I:\MinGW Progect>g++ -o main main.cpp
你編譯時少加上連接庫一起編譯:
I:\MinGW Progect>g++ -o main.exe main.cpp -lmingw32 -lSDLmain -lSDL

  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置 [未登錄] 2008-09-15 08:19 伊凡
抱歉……最后那行我沒仔細看。。。
作者寫的很清楚啊。。。
謝謝上面這位朋友wintry  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置 [未登錄] 2010-11-03 10:10 a
為什么hello.cpp就能從控制臺輸出,而main.cpp就不行.  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置  2010-12-10 16:11 yj2005
關于安裝MinGw的問題.
Input commands
>> mex -v // (在Matlab環境中)
This is mex, Copyright 1984-2007 The MathWorks, Inc.

-> Default options filename found in C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\R2009a
----------------------------------------------------------------
-> Options file = C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\R2009a\mexopts.bat
MATLAB = D:\PROGRA~1\Matlab
-> COMPILER = gcc
-> Compiler flags:
COMPFLAGS = -c -DMATLAB_MEX_FILE -mno-cygwin
OPTIMFLAGS = -O3
DEBUGFLAGS = -g
arguments =
Name switch = -o
-> Pre-linking commands =
-> LINKER = D:\PROGRA~1\Matlab\sys\perl\win32\bin\perl.exe d:\PROGRA~1\matlab\gnumex\linkmex.pl
-> Link directives:
LINKFLAGS = -mno-cygwin -mwindows -LC:\Users\ADMINI~1\AppData\Roaming\MATHWO~1\MATLAB\R2009a\gnumex
LINKDEBUGFLAGS = -g -Wl,--image-base,0x28000000\n
LINKFLAGSPOST =
Name directive = -o .mexw32
File link directive =
Lib. link directive =
Rsp file indicator =
-> Resource Compiler = D:\PROGRA~1\Matlab\sys\perl\win32\bin\perl.exe d:\PROGRA~1\matlab\gnumex\rccompile.pl --unix -o mexversion.res
-> Resource Linker =
----------------------------------------------------------------
Usage:
MEX [option1 ... optionN] sourcefile1 [... sourcefileN]
[objectfile1 ... objectfileN] [libraryfile1 ... libraryfileN]

or (to build an Ada S-function):
MEX [-v] [-g] -ada <sfcn>.ads

Use the -help option for more information, or consult the MATLAB API Guide.


D:\PROGRA~1\MATLAB\BIN\MEX.PL: Error: No file names given.

??? Error using ==> mex at 218
Unable to complete successfully.


復制MATLAB根目錄下 extern\examples\mex\yprime.c 文件到自己的測試目錄下。例如gnumex的examples目錄下。
輸入命令

mex yprime.c

D:\PROGRA~1\MATLAB\BIN\MEX.PL: Error: 'yprime.c' not found.

這是怎么回事呀?怎么會說:‘yprime.c‘沒有找到呢?
請高手指點下。
  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置  2012-07-14 20:43 g

H:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.tex
t+0x104): undefined reference to `WinMain@16'
怎么辦  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置  2012-07-14 21:12 g
@g
5. CodeBlocks/MinGW/lib/libmingw32.a(main.o):main.c|| undefined reference to `WinMain@16'
此錯誤出現在鏈接完成的最后階段,是鏈接程序找不到程序的window入口點。引起此原因的的主要問題是MinGW好像只認識WinMain入口點,不認識高版本的_t WinMain入口點。_tWinMain 是基本函數。根據編譯標志 _MBCS 或 _UNICODE生成 int WinMain() 或 int wWinMain()。但在MinGW編譯器下,解決方法很簡單,就是將_tWinMain改為WinMain()。即使使用_UNICODE標志也只用采用int WinMain()作為程序入口點,而且這樣的設置程序運行正常!!
  回復  更多評論
  
# re: SDL入門教程(一):3、MinGW 下的安裝與設置  2013-03-01 22:13 ohmytime
@lf426
我想問的是,stdout.txt具體在哪里?
當前目錄嗎?
--------------------------------------------------------
另外,我有一個程序ffmpeg.exe(版本1.1.2)依賴于SDL.dll 在控制臺沒有輸出信息,然后我重新編譯了SDL,選項有 --disable-stdio?
  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              99re6这里只有精品| 麻豆成人在线播放| 欧美精品日韩三级| 亚洲国产视频一区| 亚洲缚视频在线观看| 久久精品二区三区| 精品999在线播放| 欧美成人性生活| 欧美精品国产| 午夜精品久久久久久久久| 亚洲一区综合| 国内精品国产成人| 欧美激情免费在线| 欧美视频一区| 久久久久高清| 欧美激情久久久| 亚洲欧美日产图| 久久久久久一区二区三区| 亚洲日本在线观看| 亚洲视频在线观看| 极品尤物av久久免费看| 亚洲国产精品久久久久婷婷老年| 欧美日韩一区二区三区高清| 性久久久久久久久久久久| 欧美综合77777色婷婷| 最新亚洲视频| 亚洲欧美日本日韩| 亚洲欧洲在线看| 亚洲欧美日韩国产成人精品影院| 久久久成人网| 狠狠色丁香婷婷综合久久片| 欧美一区二区日韩一区二区| 欧美成人性网| 99re视频这里只有精品| 午夜久久福利| 夜夜狂射影院欧美极品| 久久精品国产精品亚洲精品| 日韩一级免费| 久久人人97超碰精品888| 亚洲一区二区在| 麻豆成人在线观看| 久久精品日韩欧美| 国产精品免费一区豆花| 欧美国产亚洲精品久久久8v| 国产精品美女主播| 日韩一区二区免费高清| 亚洲国产日韩一区| 久久噜噜亚洲综合| 久久激情久久| 国产精品亚洲激情| 在线视频你懂得一区二区三区| 亚洲国产婷婷综合在线精品| 欧美在线二区| 久久精品国产69国产精品亚洲| 欧美视频在线观看免费| 亚洲人成77777在线观看网| 精品av久久707| 午夜精品福利一区二区三区av | 一区二区三区视频在线播放| 午夜精品久久久久久久99黑人| 亚洲毛片在线观看| 久久青草欧美一区二区三区| 在线天堂一区av电影| 久久久久久亚洲综合影院红桃 | 国产女人18毛片水18精品| 亚洲国产精品国自产拍av秋霞 | 麻豆国产精品777777在线| 亚洲欧美区自拍先锋| 欧美日韩精品免费观看| 亚洲成人自拍视频| 国产免费成人av| 亚洲第一级黄色片| 精品成人一区| 久久精品国产一区二区电影 | 久久av二区| 国产精品中文字幕欧美| 在线亚洲一区观看| 亚洲综合三区| 欧美日韩一区二区免费在线观看| 美日韩精品免费| 在线日韩av| 男女精品视频| 在线观看日韩一区| 亚洲国产乱码最新视频| 亚洲免费观看| 欧美激情亚洲国产| 最新热久久免费视频| 亚洲精品乱码久久久久久按摩观 | 欧美亚洲在线| 国产亚洲成精品久久| 这里只有视频精品| 亚洲免费视频在线观看| 欧美电影免费观看| 99xxxx成人网| 久久黄色小说| 亚洲国产99精品国自产| 久久久久久网| 亚洲欧洲一区二区三区| 中文国产一区| 欧美视频日韩视频| 久久久久久国产精品一区| 久久综合伊人77777| 亚洲经典在线看| 欧美三区在线观看| 欧美尤物巨大精品爽| 久久婷婷综合激情| 亚洲一级免费视频| 国产一级一区二区| 久久综合九色综合久99| 亚洲精品国产精品国自产观看| 亚洲综合精品一区二区| 韩国女主播一区二区三区| 美女亚洲精品| 亚洲伊人色欲综合网| 美女999久久久精品视频| 宅男噜噜噜66一区二区| 国产日韩欧美在线播放不卡| 欧美一区二区三区喷汁尤物| 久久伊人精品天天| 亚洲一区免费| 亚洲国产导航| 国产精品视频yy9099| 久久一区中文字幕| 亚洲午夜小视频| 亚洲电影在线| 久久亚洲二区| 日韩一区二区精品视频| 国产综合色产在线精品| 欧美日韩精品欧美日韩精品一 | 亚洲欧美日韩一区二区| 亚洲高清在线视频| 国产日韩专区| 欧美极品aⅴ影院| 免费人成网站在线观看欧美高清| 亚洲图片欧美午夜| 亚洲国产一区二区三区高清| 久久精品视频网| 亚洲一区二区在线| 亚洲精品免费在线| 在线精品国产欧美| 国产亚洲欧美日韩美女| 欧美日韩成人综合| 欧美日韩另类视频| 欧美激情一区二区三区四区| 久久国产婷婷国产香蕉| 亚洲欧美日本日韩| 亚洲激情女人| 亚洲国产二区| 欧美风情在线观看| 欧美自拍偷拍| 欧美暴力喷水在线| 久久免费视频网站| 久久免费偷拍视频| 欧美激情片在线观看| 久久久国产视频91| 久久精品夜色噜噜亚洲aⅴ| 亚洲人成网站在线观看播放| 久久久久国产免费免费| 久久国产精品99国产| 久久国产精品一区二区三区| 欧美一区二区三区在线| 欧美与欧洲交xxxx免费观看| 欧美一级视频精品观看| 欧美一区国产在线| 中文亚洲欧美| 久久精品成人一区二区三区蜜臀| 香蕉视频成人在线观看| 久久黄金**| 欧美二区在线| 亚洲大黄网站| 欧美国产一区二区在线观看| 亚洲日韩欧美一区二区在线| 亚洲精品小视频| 亚洲天堂成人在线观看| 亚洲欧美精品| 久久成人免费网| 老司机精品视频网站| 久久精品九九| 欧美三级电影网| 国产精品一区二区女厕厕| 国户精品久久久久久久久久久不卡 | 欧美成人一区二区三区片免费| 欧美黄色日本| 国产精品久久久久久久电影 | 在线视频亚洲一区| 香蕉久久夜色精品国产| 中文久久乱码一区二区| 在线视频一区观看| 久久综合九色综合网站| 欧美日韩一区三区| 国产日韩欧美亚洲| 亚洲精品乱码久久久久久| 亚洲一区二区视频在线观看| 久久电影一区| 欧美大片在线观看| 国产精品99久久不卡二区| 久久日韩精品| 国产精品视频xxxx| 亚洲日本va午夜在线影院| 小黄鸭精品aⅴ导航网站入口|