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

隨筆 - 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>
              久久9热精品视频| 蜜桃av综合| 在线观看久久av| 亚洲欧美日韩综合国产aⅴ| 亚洲欧美综合另类中字| 国产精品chinese| 午夜精品福利在线观看| 久久三级福利| 亚洲国产清纯| 欧美午夜电影一区| 久久精品理论片| 亚洲国产欧美在线人成| 99re8这里有精品热视频免费| 欧美视频1区| 香蕉av777xxx色综合一区| 久热精品在线视频| 宅男在线国产精品| 国产一区二区精品久久91| 欧美成人精品一区二区三区| 欧美刺激性大交免费视频| 亚洲图片在线观看| 午夜国产一区| 亚洲第一久久影院| 欧美日韩一级视频| 久久精品综合一区| 一区二区三区高清在线| 另类国产ts人妖高潮视频| 99国产精品久久久久老师| 国产亚洲成精品久久| 欧美精品尤物在线| 久久久久欧美| 亚洲欧美日韩在线不卡| 亚洲欧洲一级| 麻豆精品视频在线观看| 午夜精品国产精品大乳美女| 亚洲美女av电影| 国产一区二区日韩| 国产精品v日韩精品| 欧美电影专区| 久久久久久伊人| 先锋影音久久| 一区二区三区欧美在线| 亚洲高清激情| 狂野欧美一区| 久久久国产精品一区二区三区| 一本色道久久综合狠狠躁的推荐| 韩日在线一区| 国产亚洲毛片在线| 国产精品视频精品视频| 欧美日韩免费观看一区=区三区| 久久久久久久综合色一本| 性久久久久久久| 午夜精品视频在线观看| 亚洲天堂视频在线观看| 一区二区三区国产精华| 一区二区三欧美| 一区二区三区|亚洲午夜| 亚洲精品国产精品国自产在线| 亚洲国产导航| 亚洲激情自拍| 夜夜嗨av一区二区三区网页| 亚洲精品中文字幕有码专区| 亚洲人体一区| 洋洋av久久久久久久一区| 这里只有精品在线播放| 亚洲欧美综合国产精品一区| 性做久久久久久久免费看| 欧美亚洲网站| 麻豆成人在线观看| 欧美日产一区二区三区在线观看 | 欧美福利视频在线观看| 日韩视频永久免费观看| 亚洲茄子视频| 99精品99| 午夜影视日本亚洲欧洲精品| 欧美一区二区福利在线| 久久久久久久久久久久久久一区| 久久婷婷av| 欧美激情第六页| 亚洲人成网在线播放| 亚洲三级免费观看| 一卡二卡3卡四卡高清精品视频| 一本色道久久综合狠狠躁篇的优点 | 麻豆久久精品| 欧美日本高清| 国产日韩欧美中文| 亚洲国产成人在线| 亚洲一区二区在线观看视频| 久久资源av| 日韩视频在线一区二区三区| 亚洲欧美在线免费观看| 快播亚洲色图| 国产精品视频福利| 亚洲精品乱码久久久久久黑人| 亚洲资源在线观看| 欧美国产成人精品| 亚洲一区尤物| 欧美a级一区二区| 国产精品女人网站| 亚洲经典三级| 久久免费国产精品| 亚洲午夜电影网| 欧美高清影院| 在线成人www免费观看视频| 正在播放欧美视频| 蜜臀av一级做a爰片久久| 亚洲综合999| 欧美日韩三区| 亚洲人体1000| 久久婷婷av| 亚洲欧美一区二区在线观看| 欧美精品在线观看| 亚洲第一区色| 久久久久久一区二区| 亚洲一二三四久久| 欧美激情一二区| 亚洲福利在线看| 久久深夜福利| 欧美一区二区三区四区夜夜大片 | 国产一区激情| 久久精品国产综合精品| 国产精品v日韩精品| 精久久久久久| 久久xxxx| 午夜国产精品视频| 国产精品福利影院| 日韩一级裸体免费视频| 欧美激情影院| 久久午夜国产精品| 激情欧美亚洲| 久热国产精品| 久久久精品视频成人| 激情视频一区二区| 美女视频黄a大片欧美| 久久久噜噜噜久噜久久| 在线日韩一区二区| 免费成人高清| 免费一级欧美片在线播放| 亚洲国产精品视频| 亚洲国产合集| 欧美日韩亚洲精品内裤| 亚洲网站在线播放| 亚洲天堂免费观看| 国色天香一区二区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 中日韩美女免费视频网址在线观看 | 欧美福利在线观看| 中文在线不卡| 亚洲一区二区欧美| 国产欧美视频在线观看| 久久久久久精| 欧美韩日亚洲| 性做久久久久久久免费看| 欧美一区成人| 亚洲精品黄色| 中文一区二区| 国产日韩综合| 亚洲电影毛片| 国产精品大全| 久久中文字幕导航| 欧美日韩精品国产| 欧美中文字幕视频在线观看| 久久精品国产一区二区三区| 亚洲精品日韩久久| 亚洲一区二区网站| 在线欧美亚洲| 在线视频欧美日韩精品| 在线观看精品| 亚洲欧美成人一区二区在线电影 | 一本色道久久88精品综合| 国产精品一区二区三区乱码| 狂野欧美激情性xxxx欧美| 欧美18av| 欧美一区二区视频免费观看| 欧美 日韩 国产 一区| 亚洲一区二区三区高清不卡| 欧美在线影院在线视频| 日韩视频精品| 欧美一区二区三区免费观看视频 | 国产精品久久久久久久久久三级| 久久久噜噜噜久久中文字免 | 国产美女精品人人做人人爽| 欧美成人综合网站| 国产欧美日韩高清| 夜夜夜久久久| 最新亚洲视频| 久久久亚洲精品一区二区三区 | 久久久久久一区二区三区| 欧美视频在线不卡| 欧美激情二区三区| 伊人成年综合电影网| 亚洲欧美www| 亚洲图片你懂的| 欧美精品www| 欧美大片一区二区| 黄色一区三区| 欧美一区免费视频| 久久精品卡一| 国产性色一区二区| 欧美一级理论片|